From d5842f03c2315281facb8db5239ea82fba6c6c1d Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Thu, 19 Mar 2026 10:41:54 +0100 Subject: [PATCH 01/14] Generate types from (locally fixed openapi spec as the current spec is not valid yet) use redocly and spectral for linting the openapi spec and json+api convention --- .spectral.yml | 2 + openapi-ts.config.mjs | 12 + openapi.json | 1 + package-lock.json | 4889 ++++- package.json | 10 +- .../acc-settings/acc-settings.component.ts | 14 +- src/app/core/_models/json-api.types.ts | 84 + .../core/_services/api/serializer-service.ts | 16 +- src/generated/api/index.ts | 3 + src/generated/api/types.gen.ts | 14841 ++++++++++++++++ src/generated/api/zod.gen.ts | 7467 ++++++++ tsconfig.json | 4 +- 12 files changed, 26965 insertions(+), 378 deletions(-) create mode 100644 .spectral.yml create mode 100644 openapi-ts.config.mjs create mode 100644 openapi.json create mode 100644 src/app/core/_models/json-api.types.ts create mode 100644 src/generated/api/index.ts create mode 100644 src/generated/api/types.gen.ts create mode 100644 src/generated/api/zod.gen.ts diff --git a/.spectral.yml b/.spectral.yml new file mode 100644 index 000000000..705b4fb2e --- /dev/null +++ b/.spectral.yml @@ -0,0 +1,2 @@ +extends: + - https://raw.githubusercontent.com/jmlue42/spectral-jsonapi-ruleset/main/.spectral.yml diff --git a/openapi-ts.config.mjs b/openapi-ts.config.mjs new file mode 100644 index 000000000..fcd9d9f3a --- /dev/null +++ b/openapi-ts.config.mjs @@ -0,0 +1,12 @@ +import { defineConfig } from '@hey-api/openapi-ts'; + +export default defineConfig({ + input: './openapi.json', + output: { + path: './src/generated/api', + }, + plugins: [ + '@hey-api/typescript', + 'zod', + ], +}); diff --git a/openapi.json b/openapi.json new file mode 100644 index 000000000..b44b07c19 --- /dev/null +++ b/openapi.json @@ -0,0 +1 @@ +{"openapi":"3.1.0","info":{"title":"Hashtopolis API","version":"v2","description":"Hashtopolis REST API","contact":{"name":"Hashtopolis","url":"https://github.com/hashtopolis/server"}},"servers":[{"url":"/"}],"paths":{"/api/v2/ui/accessgroups":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessGroupResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: userMembers,agentMembers"}],"summary":"List AccessGroups","operationId":"getAccessgroups"},"post":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupCreate"}}}},"parameters":[],"summary":"Create AccessGroups","operationId":"postAccessgroups"},"patch":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update AccessGroups","operationId":"patchAccessgroups"},"delete":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete AccessGroups","parameters":[],"summary":"Delete AccessGroups","operationId":"deleteAccessgroups"}},"/api/v2/ui/accessgroups/count":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessGroupResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: userMembers,agentMembers"}],"summary":"Count AccessGroups","operationId":"getAccessgroupsCount"}},"/api/v2/ui/accessgroups/{id}/{relation}":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupRelationAgentMembersGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get AccessGroups","operationId":"getAccessgroupsByIdByRelation"}},"/api/v2/ui/accessgroups/{id}/relationships/{relation}":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get AccessGroups","operationId":"getAccessgroupsByIdRelationshipsByRelation"},"patch":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupRelationAgentMembers"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update AccessGroups","operationId":"patchAccessgroupsByIdRelationshipsByRelation"},"post":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add AccessGroups relationship","operationId":"postAccessgroupsByIdRelationshipsByRelation"},"delete":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove AccessGroups relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupRelationAgentMembers"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove AccessGroups relationship","operationId":"deleteAccessgroupsByIdRelationshipsByRelation"}},"/api/v2/ui/accessgroups/{id}":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get AccessGroups","operationId":"getAccessgroupsById"},"patch":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update AccessGroups","operationId":"patchAccessgroupsById"},"delete":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete AccessGroups","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete AccessGroups","operationId":"deleteAccessgroupsById"}},"/api/v2/ui/agents":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments"}],"summary":"List Agents","operationId":"getAgents"},"patch":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Agents","operationId":"patchAgents"},"delete":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Agents","parameters":[],"summary":"Delete Agents","operationId":"deleteAgents"}},"/api/v2/ui/agents/count":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments"}],"summary":"Count Agents","operationId":"getAgentsCount"}},"/api/v2/ui/agents/{id}/{relation}":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRelationAssignmentsGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Agents","operationId":"getAgentsByIdByRelation"}},"/api/v2/ui/agents/{id}/relationships/{relation}":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Agents","operationId":"getAgentsByIdRelationshipsByRelation"},"patch":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRelationAssignments"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Agents","operationId":"patchAgentsByIdRelationshipsByRelation"},"post":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Agents relationship","operationId":"postAgentsByIdRelationshipsByRelation"},"delete":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Agents relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRelationAssignments"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Agents relationship","operationId":"deleteAgentsByIdRelationshipsByRelation"}},"/api/v2/ui/agents/{id}":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Agents","operationId":"getAgentsById"},"patch":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Agents","operationId":"patchAgentsById"},"delete":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Agents","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Agents","operationId":"deleteAgentsById"}},"/api/v2/ui/agentassignments":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssignmentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"List Assignments","operationId":"getAgentassignments"},"post":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentCreate"}}}},"parameters":[],"summary":"Create Assignments","operationId":"postAgentassignments"},"patch":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Assignments","operationId":"patchAgentassignments"},"delete":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Assignments","parameters":[],"summary":"Delete Assignments","operationId":"deleteAgentassignments"}},"/api/v2/ui/agentassignments/count":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssignmentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"Count Assignments","operationId":"getAgentassignmentsCount"}},"/api/v2/ui/agentassignments/{id}/{relation}":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentRelationTaskGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Assignments","operationId":"getAgentassignmentsByIdByRelation"}},"/api/v2/ui/agentassignments/{id}/relationships/{relation}":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Assignments","operationId":"getAgentassignmentsByIdRelationshipsByRelation"},"patch":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentRelationTask"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Assignments","operationId":"patchAgentassignmentsByIdRelationshipsByRelation"}},"/api/v2/ui/agentassignments/{id}":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Assignments","operationId":"getAgentassignmentsById"},"patch":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Assignments","operationId":"patchAgentassignmentsById"},"delete":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Assignments","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Assignments","operationId":"deleteAgentassignmentsById"}},"/api/v2/ui/agentbinaries":{"get":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentBinaryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List AgentBinarys","operationId":"getAgentbinaries"},"post":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryCreate"}}}},"parameters":[],"summary":"Create AgentBinarys","operationId":"postAgentbinaries"},"patch":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update AgentBinarys","operationId":"patchAgentbinaries"},"delete":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentBinarys","parameters":[],"summary":"Delete AgentBinarys","operationId":"deleteAgentbinaries"}},"/api/v2/ui/agentbinaries/count":{"get":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentBinaryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count AgentBinarys","operationId":"getAgentbinariesCount"}},"/api/v2/ui/agentbinaries/{id}":{"get":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get AgentBinarys","operationId":"getAgentbinariesById"},"patch":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update AgentBinarys","operationId":"patchAgentbinariesById"},"delete":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentBinarys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete AgentBinarys","operationId":"deleteAgentbinariesById"}},"/api/v2/ui/agenterrors":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentErrorResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: task"}],"summary":"List AgentErrors","operationId":"getAgenterrors"},"delete":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentErrors","parameters":[],"summary":"Delete AgentErrors","operationId":"deleteAgenterrors"}},"/api/v2/ui/agenterrors/count":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentErrorResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: task"}],"summary":"Count AgentErrors","operationId":"getAgenterrorsCount"}},"/api/v2/ui/agenterrors/{id}/{relation}":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorRelationTaskGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get AgentErrors","operationId":"getAgenterrorsByIdByRelation"}},"/api/v2/ui/agenterrors/{id}/relationships/{relation}":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get AgentErrors","operationId":"getAgenterrorsByIdRelationshipsByRelation"},"patch":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorRelationTask"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update AgentErrors","operationId":"patchAgenterrorsByIdRelationshipsByRelation"}},"/api/v2/ui/agenterrors/{id}":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get AgentErrors","operationId":"getAgenterrorsById"},"delete":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentErrors","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete AgentErrors","operationId":"deleteAgenterrorsById"}},"/api/v2/ui/agentstats":{"get":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentStatResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List AgentStats","operationId":"getAgentstats"},"delete":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentStats","parameters":[],"summary":"Delete AgentStats","operationId":"deleteAgentstats"}},"/api/v2/ui/agentstats/count":{"get":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentStatResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count AgentStats","operationId":"getAgentstatsCount"}},"/api/v2/ui/agentstats/{id}":{"get":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentStatResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get AgentStats","operationId":"getAgentstatsById"},"delete":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentStats","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete AgentStats","operationId":"deleteAgentstatsById"}},"/api/v2/ui/apiTokens":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JwtApiKeyResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user"}],"summary":"List JwtApiKeys","operationId":"getApiTokens"},"post":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyCreate"}}}},"parameters":[],"summary":"Create JwtApiKeys","operationId":"postApiTokens"},"patch":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update JwtApiKeys","operationId":"patchApiTokens"},"delete":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete JwtApiKeys","parameters":[],"summary":"Delete JwtApiKeys","operationId":"deleteApiTokens"}},"/api/v2/ui/apiTokens/count":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JwtApiKeyResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user"}],"summary":"Count JwtApiKeys","operationId":"getApiTokensCount"}},"/api/v2/ui/apiTokens/{id}/{relation}":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyRelationUserGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get JwtApiKeys","operationId":"getApiTokensByIdByRelation"}},"/api/v2/ui/apiTokens/{id}/relationships/{relation}":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get JwtApiKeys","operationId":"getApiTokensByIdRelationshipsByRelation"},"patch":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyRelationUser"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update JwtApiKeys","operationId":"patchApiTokensByIdRelationshipsByRelation"}},"/api/v2/ui/apiTokens/{id}":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get JwtApiKeys","operationId":"getApiTokensById"},"patch":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update JwtApiKeys","operationId":"patchApiTokensById"},"delete":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete JwtApiKeys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete JwtApiKeys","operationId":"deleteApiTokensById"}},"/api/v2/ui/chunks":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChunkResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"List Chunks","operationId":"getChunks"}},"/api/v2/ui/chunks/count":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChunkResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"Count Chunks","operationId":"getChunksCount"}},"/api/v2/ui/chunks/{id}/{relation}":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunkRelationTaskGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Chunks","operationId":"getChunksByIdByRelation"}},"/api/v2/ui/chunks/{id}/relationships/{relation}":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunkResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Chunks","operationId":"getChunksByIdRelationshipsByRelation"},"patch":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunkRelationTask"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Chunks","operationId":"patchChunksByIdRelationshipsByRelation"}},"/api/v2/ui/chunks/{id}":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunkResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Chunks","operationId":"getChunksById"}},"/api/v2/ui/configs":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: configSection"}],"summary":"List Configs","operationId":"getConfigs"},"patch":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Configs","operationId":"patchConfigs"}},"/api/v2/ui/configs/count":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: configSection"}],"summary":"Count Configs","operationId":"getConfigsCount"}},"/api/v2/ui/configs/{id}/{relation}":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigRelationConfigSectionGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Configs","operationId":"getConfigsByIdByRelation"}},"/api/v2/ui/configs/{id}/relationships/{relation}":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Configs","operationId":"getConfigsByIdRelationshipsByRelation"},"patch":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigRelationConfigSection"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Configs","operationId":"patchConfigsByIdRelationshipsByRelation"}},"/api/v2/ui/configs/{id}":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Configs","operationId":"getConfigsById"},"patch":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Configs","operationId":"patchConfigsById"}},"/api/v2/ui/configsections":{"get":{"tags":["ConfigSections"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigSectionResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List ConfigSections","operationId":"getConfigsections"}},"/api/v2/ui/configsections/count":{"get":{"tags":["ConfigSections"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigSectionResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count ConfigSections","operationId":"getConfigsectionsCount"}},"/api/v2/ui/configsections/{id}":{"get":{"tags":["ConfigSections"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigSectionResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get ConfigSections","operationId":"getConfigsectionsById"}},"/api/v2/ui/crackers":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CrackerBinaryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinaryType,tasks"}],"summary":"List CrackerBinarys","operationId":"getCrackers"},"post":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryCreate"}}}},"parameters":[],"summary":"Create CrackerBinarys","operationId":"postCrackers"},"patch":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update CrackerBinarys","operationId":"patchCrackers"},"delete":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete CrackerBinarys","parameters":[],"summary":"Delete CrackerBinarys","operationId":"deleteCrackers"}},"/api/v2/ui/crackers/count":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CrackerBinaryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinaryType,tasks"}],"summary":"Count CrackerBinarys","operationId":"getCrackersCount"}},"/api/v2/ui/crackers/{id}/{relation}":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryRelationTasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get CrackerBinarys","operationId":"getCrackersByIdByRelation"}},"/api/v2/ui/crackers/{id}/relationships/{relation}":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get CrackerBinarys","operationId":"getCrackersByIdRelationshipsByRelation"},"patch":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update CrackerBinarys","operationId":"patchCrackersByIdRelationshipsByRelation"},"post":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add CrackerBinarys relationship","operationId":"postCrackersByIdRelationshipsByRelation"},"delete":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove CrackerBinarys relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove CrackerBinarys relationship","operationId":"deleteCrackersByIdRelationshipsByRelation"}},"/api/v2/ui/crackers/{id}":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get CrackerBinarys","operationId":"getCrackersById"},"patch":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update CrackerBinarys","operationId":"patchCrackersById"},"delete":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete CrackerBinarys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete CrackerBinarys","operationId":"deleteCrackersById"}},"/api/v2/ui/crackertypes":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CrackerBinaryTypeResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerVersions,tasks"}],"summary":"List CrackerBinaryTypes","operationId":"getCrackertypes"},"post":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeCreate"}}}},"parameters":[],"summary":"Create CrackerBinaryTypes","operationId":"postCrackertypes"},"patch":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update CrackerBinaryTypes","operationId":"patchCrackertypes"},"delete":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete CrackerBinaryTypes","parameters":[],"summary":"Delete CrackerBinaryTypes","operationId":"deleteCrackertypes"}},"/api/v2/ui/crackertypes/count":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CrackerBinaryTypeResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerVersions,tasks"}],"summary":"Count CrackerBinaryTypes","operationId":"getCrackertypesCount"}},"/api/v2/ui/crackertypes/{id}/{relation}":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeRelationTasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get CrackerBinaryTypes","operationId":"getCrackertypesByIdByRelation"}},"/api/v2/ui/crackertypes/{id}/relationships/{relation}":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get CrackerBinaryTypes","operationId":"getCrackertypesByIdRelationshipsByRelation"},"patch":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update CrackerBinaryTypes","operationId":"patchCrackertypesByIdRelationshipsByRelation"},"post":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add CrackerBinaryTypes relationship","operationId":"postCrackertypesByIdRelationshipsByRelation"},"delete":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove CrackerBinaryTypes relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove CrackerBinaryTypes relationship","operationId":"deleteCrackertypesByIdRelationshipsByRelation"}},"/api/v2/ui/crackertypes/{id}":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get CrackerBinaryTypes","operationId":"getCrackertypesById"},"patch":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypePatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update CrackerBinaryTypes","operationId":"patchCrackertypesById"},"delete":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete CrackerBinaryTypes","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete CrackerBinaryTypes","operationId":"deleteCrackertypesById"}},"/api/v2/ui/files":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup"}],"summary":"List Files","operationId":"getFiles"},"post":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileCreate"}}}},"parameters":[],"summary":"Create Files","operationId":"postFiles"},"patch":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Files","operationId":"patchFiles"},"delete":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Files","parameters":[],"summary":"Delete Files","operationId":"deleteFiles"}},"/api/v2/ui/files/count":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup"}],"summary":"Count Files","operationId":"getFilesCount"}},"/api/v2/ui/files/{id}/{relation}":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileRelationAccessGroupGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Files","operationId":"getFilesByIdByRelation"}},"/api/v2/ui/files/{id}/relationships/{relation}":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Files","operationId":"getFilesByIdRelationshipsByRelation"},"patch":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileRelationAccessGroup"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Files","operationId":"patchFilesByIdRelationshipsByRelation"}},"/api/v2/ui/files/{id}":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Files","operationId":"getFilesById"},"patch":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilePatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Files","operationId":"patchFilesById"},"delete":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Files","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Files","operationId":"deleteFilesById"}},"/api/v2/ui/globalpermissiongroups":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RightGroupResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: userMembers"}],"summary":"List RightGroups","operationId":"getGlobalpermissiongroups"},"post":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupCreate"}}}},"parameters":[],"summary":"Create RightGroups","operationId":"postGlobalpermissiongroups"},"patch":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update RightGroups","operationId":"patchGlobalpermissiongroups"},"delete":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete RightGroups","parameters":[],"summary":"Delete RightGroups","operationId":"deleteGlobalpermissiongroups"}},"/api/v2/ui/globalpermissiongroups/count":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RightGroupResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: userMembers"}],"summary":"Count RightGroups","operationId":"getGlobalpermissiongroupsCount"}},"/api/v2/ui/globalpermissiongroups/{id}/{relation}":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupRelationUserMembersGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get RightGroups","operationId":"getGlobalpermissiongroupsByIdByRelation"}},"/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get RightGroups","operationId":"getGlobalpermissiongroupsByIdRelationshipsByRelation"},"patch":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupRelationUserMembers"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update RightGroups","operationId":"patchGlobalpermissiongroupsByIdRelationshipsByRelation"},"post":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add RightGroups relationship","operationId":"postGlobalpermissiongroupsByIdRelationshipsByRelation"},"delete":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove RightGroups relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupRelationUserMembers"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove RightGroups relationship","operationId":"deleteGlobalpermissiongroupsByIdRelationshipsByRelation"}},"/api/v2/ui/globalpermissiongroups/{id}":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get RightGroups","operationId":"getGlobalpermissiongroupsById"},"patch":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update RightGroups","operationId":"patchGlobalpermissiongroupsById"},"delete":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete RightGroups","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete RightGroups","operationId":"deleteGlobalpermissiongroupsById"}},"/api/v2/ui/hashes":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: chunk,hashlist"}],"summary":"List Hashs","operationId":"getHashes"}},"/api/v2/ui/hashes/count":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: chunk,hashlist"}],"summary":"Count Hashs","operationId":"getHashesCount"}},"/api/v2/ui/hashes/{id}/{relation}":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashRelationHashlistGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Hashs","operationId":"getHashesByIdByRelation"}},"/api/v2/ui/hashes/{id}/relationships/{relation}":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Hashs","operationId":"getHashesByIdRelationshipsByRelation"},"patch":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashRelationHashlist"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Hashs","operationId":"patchHashesByIdRelationshipsByRelation"}},"/api/v2/ui/hashes/{id}":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Hashs","operationId":"getHashesById"}},"/api/v2/ui/hashlists":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashlistResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks"}],"summary":"List Hashlists","operationId":"getHashlists"},"post":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistCreate"}}}},"parameters":[],"summary":"Create Hashlists","operationId":"postHashlists"},"patch":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Hashlists","operationId":"patchHashlists"},"delete":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Hashlists","parameters":[],"summary":"Delete Hashlists","operationId":"deleteHashlists"}},"/api/v2/ui/hashlists/count":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashlistResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks"}],"summary":"Count Hashlists","operationId":"getHashlistsCount"}},"/api/v2/ui/hashlists/{id}/{relation}":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistRelationTasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Hashlists","operationId":"getHashlistsByIdByRelation"}},"/api/v2/ui/hashlists/{id}/relationships/{relation}":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Hashlists","operationId":"getHashlistsByIdRelationshipsByRelation"},"patch":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Hashlists","operationId":"patchHashlistsByIdRelationshipsByRelation"},"post":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Hashlists relationship","operationId":"postHashlistsByIdRelationshipsByRelation"},"delete":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Hashlists relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Hashlists relationship","operationId":"deleteHashlistsByIdRelationshipsByRelation"}},"/api/v2/ui/hashlists/{id}":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Hashlists","operationId":"getHashlistsById"},"patch":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Hashlists","operationId":"patchHashlistsById"},"delete":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Hashlists","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Hashlists","operationId":"deleteHashlistsById"}},"/api/v2/ui/hashtypes":{"get":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashTypeResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List HashTypes","operationId":"getHashtypes"},"post":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypeCreate"}}}},"parameters":[],"summary":"Create HashTypes","operationId":"postHashtypes"},"patch":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update HashTypes","operationId":"patchHashtypes"},"delete":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete HashTypes","parameters":[],"summary":"Delete HashTypes","operationId":"deleteHashtypes"}},"/api/v2/ui/hashtypes/count":{"get":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashTypeResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count HashTypes","operationId":"getHashtypesCount"}},"/api/v2/ui/hashtypes/{id}":{"get":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypeResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get HashTypes","operationId":"getHashtypesById"},"patch":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypePatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update HashTypes","operationId":"patchHashtypesById"},"delete":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete HashTypes","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete HashTypes","operationId":"deleteHashtypesById"}},"/api/v2/ui/healthcheckagents":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthCheckAgentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,healthCheck"}],"summary":"List HealthCheckAgents","operationId":"getHealthcheckagents"}},"/api/v2/ui/healthcheckagents/count":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthCheckAgentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,healthCheck"}],"summary":"Count HealthCheckAgents","operationId":"getHealthcheckagentsCount"}},"/api/v2/ui/healthcheckagents/{id}/{relation}":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckAgentRelationHealthCheckGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get HealthCheckAgents","operationId":"getHealthcheckagentsByIdByRelation"}},"/api/v2/ui/healthcheckagents/{id}/relationships/{relation}":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckAgentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get HealthCheckAgents","operationId":"getHealthcheckagentsByIdRelationshipsByRelation"},"patch":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckAgentRelationHealthCheck"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update HealthCheckAgents","operationId":"patchHealthcheckagentsByIdRelationshipsByRelation"}},"/api/v2/ui/healthcheckagents/{id}":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckAgentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get HealthCheckAgents","operationId":"getHealthcheckagentsById"}},"/api/v2/ui/healthchecks":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthCheckResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents"}],"summary":"List HealthChecks","operationId":"getHealthchecks"},"post":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckCreate"}}}},"parameters":[],"summary":"Create HealthChecks","operationId":"postHealthchecks"},"patch":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update HealthChecks","operationId":"patchHealthchecks"},"delete":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete HealthChecks","parameters":[],"summary":"Delete HealthChecks","operationId":"deleteHealthchecks"}},"/api/v2/ui/healthchecks/count":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthCheckResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents"}],"summary":"Count HealthChecks","operationId":"getHealthchecksCount"}},"/api/v2/ui/healthchecks/{id}/{relation}":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckRelationHealthCheckAgentsGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get HealthChecks","operationId":"getHealthchecksByIdByRelation"}},"/api/v2/ui/healthchecks/{id}/relationships/{relation}":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get HealthChecks","operationId":"getHealthchecksByIdRelationshipsByRelation"},"patch":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckRelationHealthCheckAgents"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update HealthChecks","operationId":"patchHealthchecksByIdRelationshipsByRelation"},"post":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add HealthChecks relationship","operationId":"postHealthchecksByIdRelationshipsByRelation"},"delete":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove HealthChecks relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckRelationHealthCheckAgents"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove HealthChecks relationship","operationId":"deleteHealthchecksByIdRelationshipsByRelation"}},"/api/v2/ui/healthchecks/{id}":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get HealthChecks","operationId":"getHealthchecksById"},"patch":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update HealthChecks","operationId":"patchHealthchecksById"},"delete":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete HealthChecks","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete HealthChecks","operationId":"deleteHealthchecksById"}},"/api/v2/ui/logentries":{"get":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogEntryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List LogEntrys","operationId":"getLogentries"},"post":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryCreate"}}}},"parameters":[],"summary":"Create LogEntrys","operationId":"postLogentries"},"patch":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update LogEntrys","operationId":"patchLogentries"},"delete":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete LogEntrys","parameters":[],"summary":"Delete LogEntrys","operationId":"deleteLogentries"}},"/api/v2/ui/logentries/count":{"get":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogEntryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count LogEntrys","operationId":"getLogentriesCount"}},"/api/v2/ui/logentries/{id}":{"get":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get LogEntrys","operationId":"getLogentriesById"},"patch":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update LogEntrys","operationId":"patchLogentriesById"},"delete":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete LogEntrys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete LogEntrys","operationId":"deleteLogentriesById"}},"/api/v2/ui/notifications":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotificationSettingResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user"}],"summary":"List NotificationSettings","operationId":"getNotifications"},"post":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingCreate"}}}},"parameters":[],"summary":"Create NotificationSettings","operationId":"postNotifications"},"patch":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update NotificationSettings","operationId":"patchNotifications"},"delete":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete NotificationSettings","parameters":[],"summary":"Delete NotificationSettings","operationId":"deleteNotifications"}},"/api/v2/ui/notifications/count":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotificationSettingResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user"}],"summary":"Count NotificationSettings","operationId":"getNotificationsCount"}},"/api/v2/ui/notifications/{id}/{relation}":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingRelationUserGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get NotificationSettings","operationId":"getNotificationsByIdByRelation"}},"/api/v2/ui/notifications/{id}/relationships/{relation}":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get NotificationSettings","operationId":"getNotificationsByIdRelationshipsByRelation"},"patch":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingRelationUser"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update NotificationSettings","operationId":"patchNotificationsByIdRelationshipsByRelation"}},"/api/v2/ui/notifications/{id}":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get NotificationSettings","operationId":"getNotificationsById"},"patch":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update NotificationSettings","operationId":"patchNotificationsById"},"delete":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete NotificationSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete NotificationSettings","operationId":"deleteNotificationsById"}},"/api/v2/ui/preprocessors":{"get":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PreprocessorResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List Preprocessors","operationId":"getPreprocessors"},"post":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorCreate"}}}},"parameters":[],"summary":"Create Preprocessors","operationId":"postPreprocessors"},"patch":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Preprocessors","operationId":"patchPreprocessors"},"delete":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Preprocessors","parameters":[],"summary":"Delete Preprocessors","operationId":"deletePreprocessors"}},"/api/v2/ui/preprocessors/count":{"get":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PreprocessorResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count Preprocessors","operationId":"getPreprocessorsCount"}},"/api/v2/ui/preprocessors/{id}":{"get":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Preprocessors","operationId":"getPreprocessorsById"},"patch":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Preprocessors","operationId":"patchPreprocessorsById"},"delete":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Preprocessors","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Preprocessors","operationId":"deletePreprocessorsById"}},"/api/v2/ui/pretasks":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PretaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: pretaskFiles"}],"summary":"List Pretasks","operationId":"getPretasks"},"post":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskCreate"}}}},"parameters":[],"summary":"Create Pretasks","operationId":"postPretasks"},"patch":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Pretasks","operationId":"patchPretasks"},"delete":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Pretasks","parameters":[],"summary":"Delete Pretasks","operationId":"deletePretasks"}},"/api/v2/ui/pretasks/count":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PretaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: pretaskFiles"}],"summary":"Count Pretasks","operationId":"getPretasksCount"}},"/api/v2/ui/pretasks/{id}/{relation}":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskRelationPretaskFilesGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Pretasks","operationId":"getPretasksByIdByRelation"}},"/api/v2/ui/pretasks/{id}/relationships/{relation}":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Pretasks","operationId":"getPretasksByIdRelationshipsByRelation"},"patch":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskRelationPretaskFiles"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Pretasks","operationId":"patchPretasksByIdRelationshipsByRelation"},"post":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Pretasks relationship","operationId":"postPretasksByIdRelationshipsByRelation"},"delete":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Pretasks relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskRelationPretaskFiles"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Pretasks relationship","operationId":"deletePretasksByIdRelationshipsByRelation"}},"/api/v2/ui/pretasks/{id}":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Pretasks","operationId":"getPretasksById"},"patch":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Pretasks","operationId":"patchPretasksById"},"delete":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Pretasks","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Pretasks","operationId":"deletePretasksById"}},"/api/v2/ui/speeds":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpeedResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"List Speeds","operationId":"getSpeeds"}},"/api/v2/ui/speeds/count":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpeedResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"Count Speeds","operationId":"getSpeedsCount"}},"/api/v2/ui/speeds/{id}/{relation}":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeedRelationTaskGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Speeds","operationId":"getSpeedsByIdByRelation"}},"/api/v2/ui/speeds/{id}/relationships/{relation}":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeedResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Speeds","operationId":"getSpeedsByIdRelationshipsByRelation"},"patch":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeedRelationTask"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Speeds","operationId":"patchSpeedsByIdRelationshipsByRelation"}},"/api/v2/ui/speeds/{id}":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeedResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Speeds","operationId":"getSpeedsById"}},"/api/v2/ui/supertasks":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupertaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: pretasks"}],"summary":"List Supertasks","operationId":"getSupertasks"},"post":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskCreate"}}}},"parameters":[],"summary":"Create Supertasks","operationId":"postSupertasks"},"patch":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Supertasks","operationId":"patchSupertasks"},"delete":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Supertasks","parameters":[],"summary":"Delete Supertasks","operationId":"deleteSupertasks"}},"/api/v2/ui/supertasks/count":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupertaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: pretasks"}],"summary":"Count Supertasks","operationId":"getSupertasksCount"}},"/api/v2/ui/supertasks/{id}/{relation}":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskRelationPretasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Supertasks","operationId":"getSupertasksByIdByRelation"}},"/api/v2/ui/supertasks/{id}/relationships/{relation}":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Supertasks","operationId":"getSupertasksByIdRelationshipsByRelation"},"patch":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskRelationPretasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Supertasks","operationId":"patchSupertasksByIdRelationshipsByRelation"},"post":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Supertasks relationship","operationId":"postSupertasksByIdRelationshipsByRelation"},"delete":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Supertasks relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskRelationPretasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Supertasks relationship","operationId":"deleteSupertasksByIdRelationshipsByRelation"}},"/api/v2/ui/supertasks/{id}":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Supertasks","operationId":"getSupertasksById"},"patch":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Supertasks","operationId":"patchSupertasksById"},"delete":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Supertasks","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Supertasks","operationId":"deleteSupertasksById"}},"/api/v2/ui/tasks":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds"}],"summary":"List Tasks","operationId":"getTasks"},"post":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreate"}}}},"parameters":[],"summary":"Create Tasks","operationId":"postTasks"},"patch":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Tasks","operationId":"patchTasks"},"delete":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Tasks","parameters":[],"summary":"Delete Tasks","operationId":"deleteTasks"}},"/api/v2/ui/tasks/count":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds"}],"summary":"Count Tasks","operationId":"getTasksCount"}},"/api/v2/ui/tasks/{id}/{relation}":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRelationSpeedsGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Tasks","operationId":"getTasksByIdByRelation"}},"/api/v2/ui/tasks/{id}/relationships/{relation}":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Tasks","operationId":"getTasksByIdRelationshipsByRelation"},"patch":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRelationSpeeds"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Tasks","operationId":"patchTasksByIdRelationshipsByRelation"},"post":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Tasks relationship","operationId":"postTasksByIdRelationshipsByRelation"},"delete":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Tasks relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRelationSpeeds"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Tasks relationship","operationId":"deleteTasksByIdRelationshipsByRelation"}},"/api/v2/ui/tasks/{id}":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Tasks","operationId":"getTasksById"},"patch":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Tasks","operationId":"patchTasksById"},"delete":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Tasks","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Tasks","operationId":"deleteTasksById"}},"/api/v2/ui/taskwrappers":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskWrapperResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks"}],"summary":"List TaskWrappers","operationId":"getTaskwrappers"},"patch":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update TaskWrappers","operationId":"patchTaskwrappers"},"delete":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete TaskWrappers","parameters":[],"summary":"Delete TaskWrappers","operationId":"deleteTaskwrappers"}},"/api/v2/ui/taskwrappers/count":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskWrapperResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks"}],"summary":"Count TaskWrappers","operationId":"getTaskwrappersCount"}},"/api/v2/ui/taskwrappers/{id}/{relation}":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperRelationTasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get TaskWrappers","operationId":"getTaskwrappersByIdByRelation"}},"/api/v2/ui/taskwrappers/{id}/relationships/{relation}":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get TaskWrappers","operationId":"getTaskwrappersByIdRelationshipsByRelation"},"patch":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update TaskWrappers","operationId":"patchTaskwrappersByIdRelationshipsByRelation"},"post":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add TaskWrappers relationship","operationId":"postTaskwrappersByIdRelationshipsByRelation"},"delete":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove TaskWrappers relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove TaskWrappers relationship","operationId":"deleteTaskwrappersByIdRelationshipsByRelation"}},"/api/v2/ui/taskwrappers/{id}":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get TaskWrappers","operationId":"getTaskwrappersById"},"patch":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update TaskWrappers","operationId":"patchTaskwrappersById"},"delete":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete TaskWrappers","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete TaskWrappers","operationId":"deleteTaskwrappersById"}},"/api/v2/ui/users":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups"}],"summary":"List Users","operationId":"getUsers"},"post":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}}},"parameters":[],"summary":"Create Users","operationId":"postUsers"},"patch":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Users","operationId":"patchUsers"},"delete":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Users","parameters":[],"summary":"Delete Users","operationId":"deleteUsers"}},"/api/v2/ui/users/count":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups"}],"summary":"Count Users","operationId":"getUsersCount"}},"/api/v2/ui/users/{id}/{relation}":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRelationAccessGroupsGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Users","operationId":"getUsersByIdByRelation"}},"/api/v2/ui/users/{id}/relationships/{relation}":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Users","operationId":"getUsersByIdRelationshipsByRelation"},"patch":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRelationAccessGroups"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Users","operationId":"patchUsersByIdRelationshipsByRelation"},"post":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Users relationship","operationId":"postUsersByIdRelationshipsByRelation"},"delete":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Users relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRelationAccessGroups"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Users relationship","operationId":"deleteUsersByIdRelationshipsByRelation"}},"/api/v2/ui/users/{id}":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Users","operationId":"getUsersById"},"patch":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Users","operationId":"patchUsersById"},"delete":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Users","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Users","operationId":"deleteUsersById"}},"/api/v2/ui/vouchers":{"get":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegVoucherResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List RegVouchers","operationId":"getVouchers"},"post":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherCreate"}}}},"parameters":[],"summary":"Create RegVouchers","operationId":"postVouchers"},"patch":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update RegVouchers","operationId":"patchVouchers"},"delete":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete RegVouchers","parameters":[],"summary":"Delete RegVouchers","operationId":"deleteVouchers"}},"/api/v2/ui/vouchers/count":{"get":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegVoucherResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count RegVouchers","operationId":"getVouchersCount"}},"/api/v2/ui/vouchers/{id}":{"get":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get RegVouchers","operationId":"getVouchersById"},"patch":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update RegVouchers","operationId":"patchVouchersById"},"delete":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete RegVouchers","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete RegVouchers","operationId":"deleteVouchersById"}},"/api/v2/helper/abortChunk":{"post":{"description":"Endpoint to stop a running chunk.
@throws HTException
","requestBody":{"description":"ChunkID is the ID of the chunk that needs to be aborted.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbortChunkHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbortChunkHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postAbortChunk","security":[{"bearerAuth":[]}]}},"/api/v2/helper/assignAgent":{"post":{"description":"This endpoint is responsible for assigning a task to a specific agent.
@throws HTException
@throws HttpError
","requestBody":{"description":"The agentId is the Id of the agent that has to be assigned to the task.
The taskId is the Id of the task that will be assigned to the agent. If this is set to 0,
the agent will be unassigned from its current assigned task.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignAgentHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignAgentHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postAssignAgent","security":[{"bearerAuth":[]}]}},"/api/v2/helper/bulkSupertaskBuilder":{"post":{"description":"Endpoint to import cracked hashes into a hashlist.
@throws HTException
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSupertaskBuilderHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postBulkSupertaskBuilder","security":[{"bearerAuth":[]}]}},"/api/v2/helper/changeOwnPassword":{"post":{"description":"Endpoint to set a password of an user.
@throws HTException
","requestBody":{"description":"oldPassword is the current password of the user.
newPassword is the new password that you want to set.
confirmPassword is the new password again to confirm it.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeOwnPasswordHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeOwnPasswordHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postChangeOwnPassword","security":[{"bearerAuth":[]}]}},"/api/v2/helper/createSuperHashlist":{"post":{"description":"Endpoint to create a super hashlist from multiple hashlists
@throws HTException
","requestBody":{"description":"HashlistIds is an array of hashlist ids of the hashlists that have to be combined into a superHashlist.
Name is the name of the newly created superHashlist.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuperHashlistHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postCreateSuperHashlist","security":[{"bearerAuth":[]}]}},"/api/v2/helper/createSupertask":{"post":{"description":"Endpoint to create a supertask from a supertask template
@throws HTException
","requestBody":{"description":"supertaskTemplateId is the the Id of the supertasktemplate of which you want to create a supertask of.
hashlistId is the Id of the hashlist that has to be used for the supertask.
crackerVersionId is the Id of the crackerversion that is used for the created supertask.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSupertaskHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postCreateSupertask","security":[{"bearerAuth":[]}]}},"/api/v2/helper/currentUser":{"get":{"description":"@throws NotFoundExceptionInterface
@throws ContainerExceptionInterface
@throws HTException
@throws JsonException
","parameters":[],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getCurrentUser","security":[{"bearerAuth":[]}]},"patch":{"description":"@throws HTException
","responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"Update Helpers","operationId":"patchCurrentUser","security":[{"bearerAuth":[]}]}},"/api/v2/helper/exportCrackedHashes":{"post":{"description":"Endpoint to export cracked hashes.
@throws HTException
","requestBody":{"description":"hashlistId is the Id of the hashlist where you want to export the hashes of.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportCrackedHashesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postExportCrackedHashes","security":[{"bearerAuth":[]}]}},"/api/v2/helper/exportLeftHashes":{"post":{"description":"Endpoint to export uncracked hashes of a hashlist.
@throws HTException
","requestBody":{"description":"hashlistId is the id of the hashlist where you want to export the uncracked hashes of.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportLeftHashesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postExportLeftHashes","security":[{"bearerAuth":[]}]}},"/api/v2/helper/exportWordlist":{"post":{"description":"Endpoint to export a wordlist of the cracked hashes inside a hashlist.
@throws HTException
","requestBody":{"description":"hashlistId is the Id of the hashlist where you want to export the wordlist of.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportWordlistHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postExportWordlist","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getAccessGroups":{"get":{"description":"@throws NotFoundExceptionInterface
@throws ContainerExceptionInterface
@throws HTException
@throws JsonException
","parameters":[],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetAccessGroups","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getAgentBinary":{"get":{"description":"Endpoint to download files
@param Request $request
@param Response $response
@return Response
@throws HTException
@throws HttpErrorException
","parameters":[{"in":"query","name":"agent","schema":{"type":"integer","format":"int32"},"required":true,"example":1,"description":"The ID of the agent zip to download."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetAgentBinary","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getBestTasksAgent":{"get":{"description":"Endpoint to get the tasks a agent can work on
@param Request $request
@param Response $response
@return Response
@throws HttpErrorException
","parameters":[{"in":"query","name":"agent","schema":{"type":"integer","format":"int32"},"required":true,"example":1,"description":"The ID of the agent."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetBestTasksAgent","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getCracksOfTask":{"get":{"description":"Endpoint to get the cracked hashes of a certain task
@param Request $request
@param Response $response
@return Response
@throws HttpError
@throws HTException
@throws JsonException
@throws ContainerExceptionInterface
@throws NotFoundExceptionInterface
","parameters":[{"in":"query","name":"task","schema":{"type":"integer","format":"int32"},"required":true,"example":1,"description":"The ID of the task."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetCracksOfTask","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getFile":{"get":{"description":"Endpoint to download files
@param Request $request
@param Response $response
@return Response
@throws HTException
@throws HttpErrorException
","parameters":[{"in":"query","name":"file","schema":{"type":"integer","format":"int32"},"required":true,"example":1,"description":"The ID of the file to download."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetFile","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getTaskProgressImage":{"get":{"description":"Endpoint to download files
@param Request $request
@param Response $response
@return Response
@throws HTException
@throws HttpError
@throws HttpForbidden
","parameters":[{"in":"query","name":"supertask","schema":{"type":"integer","format":"int32"},"required":false,"example":1,"description":"The ID of the supertask where you want to create the progress image of."},{"in":"query","name":"task","schema":{"type":"integer","format":"int32"},"required":false,"example":1,"description":"The ID of the task where you want to create the progress image of."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetTaskProgressImage","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getUserPermission":{"get":{"description":"@throws NotFoundExceptionInterface
@throws ContainerExceptionInterface
@throws HTException
@throws JsonException
","parameters":[],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetUserPermission","security":[{"bearerAuth":[]}]}},"/api/v2/helper/importCrackedHashes":{"post":{"description":"Endpoint to import cracked hashes into a hashlist.
@throws HTException
@throws HttpError
","requestBody":{"description":"HashlistId is the Id of the hashlist where you want to import the cracked hashes into.
SourceData is the cracked hashes you want to import.
Seperator is the seperator that has been used for the salt in the hashes.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportCrackedHashesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportCrackedHashesHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postImportCrackedHashes","security":[{"bearerAuth":[]}]}},"/api/v2/helper/importFile":{"post":{"description":"Create Helpers","requestBody":{"description":"Import file has no POST parameters
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportFileHelperAPI"}}}},"responses":{"200":{"description":"successful operation"},"201":{"description":"successful operation","headers":{"Tus-Resumable":{"description":"Indicates the TUS version the server supports.\n Must always be set to `1.0.0` in compliant servers.","schema":{"type":"string","enum":["1.0.0"]}},"Location":{"description":"Location of the file where the user can push to.","schema":{"type":"string"}}},"content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}}},"parameters":[{"name":"Upload-Metadata","in":"header","required":true,"schema":{"type":"string","pattern":"^([a-zA-Z0-9]+ [A-Za-z0-9+/=]+)(,[a-zA-Z0-9]+ [A-Za-z0-9+/=]+)*$"},"example":"filename ZXhhbXBsZS50eHQ=","description":" The Upload-Metadata header contains one or more comma-separated key-value pairs.\n Each pair is formatted as ` `, where:\n - `key` is a string without spaces.\n - `value` is base64-encoded"},{"name":"Upload-Length","in":"header","schema":{"type":"integer","minimum":1},"example":10000,"description":"The total size of the upload in bytes. Must be a positive integer.\n Required if `Upload-Defer-Length` is not set."},{"name":"Upload-Defer-Length","in":"header","schema":{"type":"integer"},"example":1,"description":"Indicates that the upload length is not known at creation time.\n Value must be `1`. If present, `Upload-Length` must be omitted."}],"tags":["Helpers"],"summary":"Create Helpers","operationId":"postImportFile","security":[{"bearerAuth":[]}]},"get":{"description":"List Helpers","parameters":[],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getImportFile","security":[{"bearerAuth":[]}]}},"/api/v2/helper/importFile/{id}-[0-9a-f]{32}}":{"head":{"description":"A HEAD request is used in the TUS protocol to determine the offset at which the upload should be continued.
And to retrieve the upload status.
","responses":{"200":{"description":"successful request","headers":{"Tus-Resumable":{"description":"Indicates the TUS version the server supports.\n Must always be set to `1.0.0` in compliant servers.","schema":{"type":"string","enum":["1.0.0"]}},"Upload-Offset":{"description":"Number of bytes already received","schema":{"type":"integer"}},"Upload-Length":{"description":"Total upload length (if known)","schema":{"type":"integer"}},"Upload-Defer-Length":{"description":"Indicates deferred upload length (if applicable)","schema":{"type":"string"}},"Upload-Metadata":{"description":"Original metadata sent during creation","schema":{"type":"string"}}}}},"tags":["Helpers"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"32","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Head Helpers","operationId":"headImportFileById}-[0-9a-f]{32","security":[{"bearerAuth":[]}]},"patch":{"description":"Given the offset in the 'Upload Offset' header, the user can use this PATCH endpoint in order to resume the upload.
@throws HttpError
","responses":{"200":{"description":"successful operation"},"204":{"description":"Chunk accepted","headers":{"Tus-Resumable":{"description":"Indicates the TUS version the server supports.\n Must always be set to `1.0.0` in compliant servers.","schema":{"type":"string","enum":["1.0.0"]}},"Upload-Offset":{"description":"The new offset after the chunk is accepted. Indicates how many bytes were received so far.","schema":{"type":"integer"}}}}},"parameters":[{"name":"Upload-Offset","in":"header","required":true,"schema":{"type":"integer"},"example":"512","description":" The Upload-Offset header's value MUST be equal to the current offset of the resource"},{"name":"Content-Type","in":"header","required":true,"schema":{"type":"string","enum":["application/offset+octet-stream"]}},{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"32","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The binary data to push to the file","content":{"application/offset+octet-stream":{"schema":{"type":"string","format":"binary"}}}},"tags":["Helpers"],"summary":"Update Helpers","operationId":"patchImportFileById}-[0-9a-f]{32","security":[{"bearerAuth":[]}]},"delete":{"description":"Delete Helpers","responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"32","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Delete Helpers","operationId":"deleteImportFileById}-[0-9a-f]{32","security":[{"bearerAuth":[]}]}},"/api/v2/helper/maskSupertaskBuilder":{"post":{"description":"Endpoint to import cracked hashes into a hashlist.
@throws HTException
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaskSupertaskBuilderHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postMaskSupertaskBuilder","security":[{"bearerAuth":[]}]}},"/api/v2/helper/purgeTask":{"post":{"description":"Endpoint to purge a task. Meaning all chunks of a task will be deleted and keyspace and progress will be set to 0.
@throws HTException
","requestBody":{"description":"taskId is the id of the task that should be purged.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurgeTaskHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurgeTaskHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postPurgeTask","security":[{"bearerAuth":[]}]}},"/api/v2/helper/rebuildChunkCache":{"post":{"description":"Endpoint to recount files for when there is size mismatch
@param $data
@return object|array|null
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RebuildChunkCacheHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RebuildChunkCacheHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postRebuildChunkCache","security":[{"bearerAuth":[]}]}},"/api/v2/helper/recountFileLines":{"post":{"description":"Endpoint to recount files for when there is size mismatch
@param $data
@return object|array|null
@throws HTException
@throws ContainerExceptionInterface
@throws NotFoundExceptionInterface
","requestBody":{"description":"FileId is the id of the file that needs to be recounted.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecountFileLinesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postRecountFileLines","security":[{"bearerAuth":[]}]}},"/api/v2/helper/rescanGlobalFiles":{"post":{"description":"Endpoint to recount files for when there is size mismatch
@param $data
@return object|array|null
@throws HTMessages
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RescanGlobalFilesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RescanGlobalFilesHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postRescanGlobalFiles","security":[{"bearerAuth":[]}]}},"/api/v2/helper/resetChunk":{"post":{"description":"Endpoint to reset a chunk.
@throws HTException
","requestBody":{"description":"chunkId is the id of the chunk which you want to reset.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetChunkHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetChunkHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postResetChunk","security":[{"bearerAuth":[]}]}},"/api/v2/helper/resetUserPassword":{"post":{"description":"@throws HTException
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetUserPasswordHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetUserPasswordHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postResetUserPassword","security":[{"bearerAuth":[]}]}},"/api/v2/helper/searchHashes":{"post":{"description":"Endpoint to search for hashes in accessible hashlists.
@param $data
@return object|array|null
@throws ContainerExceptionInterface
@throws NotFoundExceptionInterface
@throws HttpError
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchHashesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchHashesHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postSearchHashes","security":[{"bearerAuth":[]}]}},"/api/v2/helper/setUserPassword":{"post":{"description":"Endpoint to set a password of an user.
@throws HTException
","requestBody":{"description":"userId is the id of the user of which you want to change the password.
password is the new password that you want to set.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetUserPasswordHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetUserPasswordHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postSetUserPassword","security":[{"bearerAuth":[]}]}},"/api/v2/helper/unassignAgent":{"post":{"description":"Endpoint to unassign an agent.
@throws HTException
@throws HttpError
","requestBody":{"description":"agentId is the id of the agent which you want to unassign.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnassignAgentHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnassignAgentHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postUnassignAgent","security":[{"bearerAuth":[]}]}},"/api/v2/auth/token":{"post":{"tags":["Login"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"basicAuth":[]}],"summary":"Create Login","operationId":"postToken","description":"Create Login"}}},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"title":{"type":"string","example":"about=>blank"},"type":{"type":"string","example":"Error details here"},"status":{"type":"integer","example":400}}},"NotFoundResponse":{"type":"object","properties":{"message":{"type":"string","example":"404 Not Found"},"exception":{"type":"object","properties":{"type":{"type":"string","example":"Slim\\Exception\\HttpNotFoundException"},"code":{"type":"integer","example":404},"message":{"type":"string","example":"Not Found"},"file":{"type":"string","example":"../hashtopolis/server/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php"},"line":{"type":"integer","example":91}}}}},"AccessGroupCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\AccessGroup"},"attributes":{"type":"object","properties":{"groupName":{"type":"string"}}}}}}},"AccessGroupPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\AccessGroup"},"attributes":{"type":"object","properties":{"groupName":{"type":"string"}}}}}}},"AccessGroupResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AccessGroup"},"attributes":{"type":"object","properties":{"groupName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"agentMembers":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/accessgroups/relationships/agentMembers"},"related":{"type":"string","default":"/api/v2/ui/accessgroups/agentMembers"}}}}},"userMembers":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/accessgroups/relationships/userMembers"},"related":{"type":"string","default":"/api/v2/ui/accessgroups/userMembers"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"agentMembers"},"attributes":{"type":"object","properties":{"agentId":{"type":"integer"},"agentName":{"type":"string"},"uid":{"type":"string"},"os":{"type":"integer"},"devices":{"type":"string"},"cmdPars":{"type":"string"},"ignoreErrors":{"type":"integer","enum":[0,1,2]},"isActive":{"type":"boolean"},"isTrusted":{"type":"boolean"},"token":{"type":"string"},"lastAct":{"type":"string"},"lastTime":{"type":"integer","format":"int64"},"lastIp":{"type":"string"},"userId":{"type":"integer"},"cpuOnly":{"type":"boolean"},"clientSignature":{"type":"string"}}}}}}}},"AccessGroupPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AccessGroup"},"attributes":{"type":"object","properties":{"groupName":{"type":"string"}}}}}}}},"AccessGroupRelationAgentMembers":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"agentMembers"},"id":{"type":"integer","default":1}}}}}},"AccessGroupRelationAgentMembersGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"agentMembers"},"id":{"type":"integer","default":1}}}}}},"AgentPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Agent"},"attributes":{"type":"object","properties":{"agentName":{"type":"string"},"cmdPars":{"type":"string"},"cpuOnly":{"type":"boolean"},"ignoreErrors":{"type":"integer","enum":[0,1,2]},"isActive":{"type":"boolean"},"isTrusted":{"type":"boolean"},"os":{"type":"integer"},"uid":{"type":"string"},"userId":{"type":"integer"}}}}}}},"AgentResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agents?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agents?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agents?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agents?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Agent"},"attributes":{"type":"object","properties":{"agentName":{"type":"string"},"uid":{"type":"string"},"os":{"type":"integer"},"devices":{"type":"string"},"cmdPars":{"type":"string"},"ignoreErrors":{"type":"integer","enum":[0,1,2]},"isActive":{"type":"boolean"},"isTrusted":{"type":"boolean"},"token":{"type":"string"},"lastAct":{"type":"string"},"lastTime":{"type":"integer","format":"int64"},"lastIp":{"type":"string"},"userId":{"type":"integer"},"cpuOnly":{"type":"boolean"},"clientSignature":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"accessGroups":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/accessGroups"},"related":{"type":"string","default":"/api/v2/ui/agents/accessGroups"}}}}},"agentErrors":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/agentErrors"},"related":{"type":"string","default":"/api/v2/ui/agents/agentErrors"}}}}},"agentStats":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/agentStats"},"related":{"type":"string","default":"/api/v2/ui/agents/agentStats"}}}}},"assignments":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/assignments"},"related":{"type":"string","default":"/api/v2/ui/agents/assignments"}}}}},"chunks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/chunks"},"related":{"type":"string","default":"/api/v2/ui/agents/chunks"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/agents/tasks"}}}}},"user":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/user"},"related":{"type":"string","default":"/api/v2/ui/agents/user"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"assignments"},"attributes":{"type":"object","properties":{"assignmentId":{"type":"integer"},"taskId":{"type":"integer"},"agentId":{"type":"integer"},"benchmark":{"type":"string"}}}}}}}},"AgentPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Agent"},"attributes":{"type":"object","properties":{"agentName":{"type":"string"},"uid":{"type":"string"},"os":{"type":"integer"},"devices":{"type":"string"},"cmdPars":{"type":"string"},"ignoreErrors":{"type":"integer","enum":[0,1,2]},"isActive":{"type":"boolean"},"isTrusted":{"type":"boolean"},"token":{"type":"string"},"lastAct":{"type":"string"},"lastTime":{"type":"integer","format":"int64"},"lastIp":{"type":"string"},"userId":{"type":"integer"},"cpuOnly":{"type":"boolean"},"clientSignature":{"type":"string"}}}}}}}},"AgentRelationAssignments":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"assignments"},"id":{"type":"integer","default":1}}}}}},"AgentRelationAssignmentsGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"assignments"},"id":{"type":"integer","default":1}}}}}},"AssignmentCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Assignment"},"attributes":{"type":"object","properties":{"taskId":{"type":"integer"},"agentId":{"type":"integer"},"benchmark":{"type":"string"}}}}}}},"AssignmentPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Assignment"},"attributes":{"type":"object","properties":{"benchmark":{"type":"string"}}}}}}},"AssignmentResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Assignment"},"attributes":{"type":"object","properties":{"taskId":{"type":"integer"},"agentId":{"type":"integer"},"benchmark":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"agent":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentassignments/relationships/agent"},"related":{"type":"string","default":"/api/v2/ui/agentassignments/agent"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentassignments/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/agentassignments/task"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"AssignmentPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Assignment"},"attributes":{"type":"object","properties":{"taskId":{"type":"integer"},"agentId":{"type":"integer"},"benchmark":{"type":"string"}}}}}}}},"AssignmentRelationTask":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"AssignmentRelationTaskGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"AgentBinaryCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\AgentBinary"},"attributes":{"type":"object","properties":{"binaryType":{"type":"string"},"version":{"type":"string"},"operatingSystems":{"type":"string"},"filename":{"type":"string"},"updateTrack":{"type":"string"}}}}}}},"AgentBinaryPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\AgentBinary"},"attributes":{"type":"object","properties":{"binaryType":{"type":"string"},"filename":{"type":"string"},"operatingSystems":{"type":"string"},"updateTrack":{"type":"string"},"version":{"type":"string"}}}}}}},"AgentBinaryResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AgentBinary"},"attributes":{"type":"object","properties":{"binaryType":{"type":"string"},"version":{"type":"string"},"operatingSystems":{"type":"string"},"filename":{"type":"string"},"updateTrack":{"type":"string"},"updateAvailable":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"AgentBinaryPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AgentBinary"},"attributes":{"type":"object","properties":{"binaryType":{"type":"string"},"version":{"type":"string"},"operatingSystems":{"type":"string"},"filename":{"type":"string"},"updateTrack":{"type":"string"},"updateAvailable":{"type":"string"}}}}}}}},"AgentErrorResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AgentError"},"attributes":{"type":"object","properties":{"agentId":{"type":"integer"},"taskId":{"type":"integer"},"chunkId":{"type":"integer"},"time":{"type":"integer","format":"int64"},"error":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agenterrors/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/agenterrors/task"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"AgentErrorRelationTask":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"AgentErrorRelationTaskGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"AgentStatResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AgentStat"},"attributes":{"type":"object","properties":{"agentId":{"type":"integer"},"statType":{"type":"integer"},"time":{"type":"integer","format":"int64"},"value":{"type":"array","items":{"type":"integer"}}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"JwtApiKeyCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\JwtApiKey"},"attributes":{"type":"object","properties":{"scopes":{"type":"array","items":{"type":"integer"}},"startValid":{"type":"integer","format":"int64"},"endValid":{"type":"integer","format":"int64"},"userId":{"type":"integer"},"isRevoked":{"type":"boolean"}}}}}}},"JwtApiKeyPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\JwtApiKey"},"attributes":{"type":"object","properties":{"isRevoked":{"type":"boolean"}}}}}}},"JwtApiKeyResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\JwtApiKey"},"attributes":{"type":"object","properties":{"startValid":{"type":"integer","format":"int64"},"endValid":{"type":"integer","format":"int64"},"userId":{"type":"integer"},"isRevoked":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"user":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/apiTokens/relationships/user"},"related":{"type":"string","default":"/api/v2/ui/apiTokens/user"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"user"},"attributes":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}}}},"JwtApiKeyPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\JwtApiKey"},"attributes":{"type":"object","properties":{"startValid":{"type":"integer","format":"int64"},"endValid":{"type":"integer","format":"int64"},"userId":{"type":"integer"},"isRevoked":{"type":"boolean"}}}}}}}},"JwtApiKeyRelationUser":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"user"},"id":{"type":"integer","default":1}}}}},"JwtApiKeyRelationUserGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"user"},"id":{"type":"integer","default":1}}}}},"ChunkResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Chunk"},"attributes":{"type":"object","properties":{"taskId":{"type":"integer"},"skip":{"type":"integer"},"length":{"type":"integer"},"agentId":{"type":"integer"},"dispatchTime":{"type":"integer","format":"int64"},"solveTime":{"type":"integer","format":"int64"},"checkpoint":{"type":"integer","format":"int64"},"progress":{"type":"integer"},"state":{"type":"integer"},"cracked":{"type":"integer"},"speed":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"agent":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/chunks/relationships/agent"},"related":{"type":"string","default":"/api/v2/ui/chunks/agent"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/chunks/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/chunks/task"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"ChunkRelationTask":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"ChunkRelationTaskGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"ConfigPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Config"},"attributes":{"type":"object","properties":{"item":{"type":"string"},"value":{"type":"string"}}}}}}},"ConfigResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/configs?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/configs?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/configs?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/configs?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/configs?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Config"},"attributes":{"type":"object","properties":{"configSectionId":{"type":"integer"},"item":{"type":"string"},"value":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"configSection":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/configs/relationships/configSection"},"related":{"type":"string","default":"/api/v2/ui/configs/configSection"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"configSection"},"attributes":{"type":"object","properties":{"configSectionId":{"type":"integer"},"sectionName":{"type":"string"}}}}}}}},"ConfigPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Config"},"attributes":{"type":"object","properties":{"configSectionId":{"type":"integer"},"item":{"type":"string"},"value":{"type":"string"}}}}}}}},"ConfigRelationConfigSection":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"configSection"},"id":{"type":"integer","default":1}}}}},"ConfigRelationConfigSectionGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"configSection"},"id":{"type":"integer","default":1}}}}},"ConfigSectionResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\ConfigSection"},"attributes":{"type":"object","properties":{"sectionName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"CrackerBinaryCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinary"},"attributes":{"type":"object","properties":{"crackerBinaryTypeId":{"type":"integer"},"version":{"type":"string"},"downloadUrl":{"type":"string"},"binaryName":{"type":"string"}}}}}}},"CrackerBinaryPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinary"},"attributes":{"type":"object","properties":{"binaryName":{"type":"string"},"downloadUrl":{"type":"string"},"version":{"type":"string"}}}}}}},"CrackerBinaryResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinary"},"attributes":{"type":"object","properties":{"crackerBinaryTypeId":{"type":"integer"},"version":{"type":"string"},"downloadUrl":{"type":"string"},"binaryName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"crackerBinaryType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackers/relationships/crackerBinaryType"},"related":{"type":"string","default":"/api/v2/ui/crackers/crackerBinaryType"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackers/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/crackers/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"CrackerBinaryPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinary"},"attributes":{"type":"object","properties":{"crackerBinaryTypeId":{"type":"integer"},"version":{"type":"string"},"downloadUrl":{"type":"string"},"binaryName":{"type":"string"}}}}}}}},"CrackerBinaryRelationTasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"CrackerBinaryRelationTasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"CrackerBinaryTypeCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinaryType"},"attributes":{"type":"object","properties":{"typeName":{"type":"string"}}}}}}},"CrackerBinaryTypePatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinaryType"},"attributes":{"type":"object","properties":{"isChunkingAvailable":{"type":"boolean"},"typeName":{"type":"string"}}}}}}},"CrackerBinaryTypeResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinaryType"},"attributes":{"type":"object","properties":{"typeName":{"type":"string"},"isChunkingAvailable":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"crackerVersions":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackertypes/relationships/crackerVersions"},"related":{"type":"string","default":"/api/v2/ui/crackertypes/crackerVersions"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackertypes/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/crackertypes/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"CrackerBinaryTypePostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinaryType"},"attributes":{"type":"object","properties":{"typeName":{"type":"string"},"isChunkingAvailable":{"type":"boolean"}}}}}}}},"CrackerBinaryTypeRelationTasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"CrackerBinaryTypeRelationTasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"FileCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"sourceType":{"type":"string"},"sourceData":{"type":"string"},"filename":{"type":"string"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"}}}}}}},"FilePatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"fileType":{"type":"integer"},"filename":{"type":"string"},"isSecret":{"type":"boolean"}}}}}}},"FileResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/files?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/files?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/files?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/files?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/files?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"filename":{"type":"string"},"size":{"type":"integer","format":"int64"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"},"lineCount":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/files/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/files/accessGroup"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"accessGroup"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"groupName":{"type":"string"}}}}}}}},"FileSingleResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"filename":{"type":"string"},"size":{"type":"integer","format":"int64"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"},"lineCount":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/files/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/files/accessGroup"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"accessGroup"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"groupName":{"type":"string"}}}}}}}},"FilePostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"filename":{"type":"string"},"size":{"type":"integer","format":"int64"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"},"lineCount":{"type":"integer","format":"int64"}}}}}}}},"FileRelationAccessGroup":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"accessGroup"},"id":{"type":"integer","default":1}}}}},"FileRelationAccessGroupGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"accessGroup"},"id":{"type":"integer","default":1}}}}},"RightGroupCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\RightGroup"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"permissions":{"type":"object"}}}}}}},"RightGroupPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\RightGroup"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"permissions":{"type":"object"}}}}}}},"RightGroupResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\RightGroup"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"permissions":{"type":"object"}}}}}},"relationships":{"type":"object","properties":{"userMembers":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/globalpermissiongroups/relationships/userMembers"},"related":{"type":"string","default":"/api/v2/ui/globalpermissiongroups/userMembers"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"userMembers"},"attributes":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}}}},"RightGroupPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\RightGroup"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"permissions":{"type":"object"}}}}}}}},"RightGroupRelationUserMembers":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"userMembers"},"id":{"type":"integer","default":1}}}}}},"RightGroupRelationUserMembersGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"userMembers"},"id":{"type":"integer","default":1}}}}}},"HashResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Hash"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"hash":{"type":"string"},"salt":{"type":"string"},"plaintext":{"type":"string"},"timeCracked":{"type":"integer","format":"int64"},"chunkId":{"type":"integer"},"isCracked":{"type":"boolean"},"crackPos":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"chunk":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashes/relationships/chunk"},"related":{"type":"string","default":"/api/v2/ui/hashes/chunk"}}}}},"hashlist":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashes/relationships/hashlist"},"related":{"type":"string","default":"/api/v2/ui/hashes/hashlist"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"hashlist"},"attributes":{"type":"object","properties":{"hashlistSeperator":{"type":"string"},"sourceType":{"type":"string"},"sourceData":{"type":"string"},"hashlistId":{"type":"integer"},"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"cracked":{"type":"integer"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}}}},"HashRelationHashlist":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"hashlist"},"id":{"type":"integer","default":1}}}}},"HashRelationHashlistGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"hashlist"},"id":{"type":"integer","default":1}}}}},"HashlistCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"hashlistSeperator":{"type":"string"},"sourceType":{"type":"string"},"sourceData":{"type":"string"},"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}}},"HashlistPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"isArchived":{"type":"boolean"},"isSecret":{"type":"boolean"},"name":{"type":"string"},"notes":{"type":"string"}}}}}}},"HashlistResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"cracked":{"type":"integer"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/hashlists/accessGroup"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashType"}}}}},"hashes":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashes"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashes"}}}}},"hashlists":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashlists"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashlists"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/hashlists/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"HashlistSingleResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"cracked":{"type":"integer"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/hashlists/accessGroup"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashType"}}}}},"hashes":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashes"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashes"}}}}},"hashlists":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashlists"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashlists"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/hashlists/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"HashlistPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"cracked":{"type":"integer"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}}}},"HashlistRelationTasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"HashlistRelationTasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"HashTypeCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\HashType"},"attributes":{"type":"object","properties":{"hashTypeId":{"type":"integer"},"description":{"type":"string"},"isSalted":{"type":"boolean"},"isSlowHash":{"type":"boolean"}}}}}}},"HashTypePatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\HashType"},"attributes":{"type":"object","properties":{"description":{"type":"string"},"isSalted":{"type":"boolean"},"isSlowHash":{"type":"boolean"}}}}}}},"HashTypeResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HashType"},"attributes":{"type":"object","properties":{"description":{"type":"string"},"isSalted":{"type":"boolean"},"isSlowHash":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"HashTypePostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HashType"},"attributes":{"type":"object","properties":{"description":{"type":"string"},"isSalted":{"type":"boolean"},"isSlowHash":{"type":"boolean"}}}}}}}},"HealthCheckAgentResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheckAgent"},"attributes":{"type":"object","properties":{"healthCheckId":{"type":"integer"},"agentId":{"type":"integer"},"status":{"type":"integer"},"cracked":{"type":"integer"},"numGpus":{"type":"integer"},"start":{"type":"integer","format":"int64"},"end":{"type":"integer","format":"int64"},"errors":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"agent":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthcheckagents/relationships/agent"},"related":{"type":"string","default":"/api/v2/ui/healthcheckagents/agent"}}}}},"healthCheck":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthcheckagents/relationships/healthCheck"},"related":{"type":"string","default":"/api/v2/ui/healthcheckagents/healthCheck"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"healthCheck"},"attributes":{"type":"object","properties":{"healthCheckId":{"type":"integer"},"time":{"type":"integer","format":"int64"},"status":{"type":"integer"},"checkType":{"type":"integer"},"hashtypeId":{"type":"integer"},"crackerBinaryId":{"type":"integer"},"expectedCracks":{"type":"integer"},"attackCmd":{"type":"string"}}}}}}}},"HealthCheckAgentRelationHealthCheck":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"healthCheck"},"id":{"type":"integer","default":1}}}}},"HealthCheckAgentRelationHealthCheckGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"healthCheck"},"id":{"type":"integer","default":1}}}}},"HealthCheckCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheck"},"attributes":{"type":"object","properties":{"checkType":{"type":"integer"},"hashtypeId":{"type":"integer"},"crackerBinaryId":{"type":"integer"}}}}}}},"HealthCheckPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheck"},"attributes":{"type":"object","properties":{"checkType":{"type":"integer"}}}}}}},"HealthCheckResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheck"},"attributes":{"type":"object","properties":{"time":{"type":"integer","format":"int64"},"status":{"type":"integer"},"checkType":{"type":"integer"},"hashtypeId":{"type":"integer"},"crackerBinaryId":{"type":"integer"},"expectedCracks":{"type":"integer"},"attackCmd":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"crackerBinary":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthchecks/relationships/crackerBinary"},"related":{"type":"string","default":"/api/v2/ui/healthchecks/crackerBinary"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthchecks/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/healthchecks/hashType"}}}}},"healthCheckAgents":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthchecks/relationships/healthCheckAgents"},"related":{"type":"string","default":"/api/v2/ui/healthchecks/healthCheckAgents"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"healthCheckAgents"},"attributes":{"type":"object","properties":{"healthCheckAgentId":{"type":"integer"},"healthCheckId":{"type":"integer"},"agentId":{"type":"integer"},"status":{"type":"integer"},"cracked":{"type":"integer"},"numGpus":{"type":"integer"},"start":{"type":"integer","format":"int64"},"end":{"type":"integer","format":"int64"},"errors":{"type":"string"}}}}}}}},"HealthCheckPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheck"},"attributes":{"type":"object","properties":{"time":{"type":"integer","format":"int64"},"status":{"type":"integer"},"checkType":{"type":"integer"},"hashtypeId":{"type":"integer"},"crackerBinaryId":{"type":"integer"},"expectedCracks":{"type":"integer"},"attackCmd":{"type":"string"}}}}}}}},"HealthCheckRelationHealthCheckAgents":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"healthCheckAgents"},"id":{"type":"integer","default":1}}}}}},"HealthCheckRelationHealthCheckAgentsGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"healthCheckAgents"},"id":{"type":"integer","default":1}}}}}},"LogEntryCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\LogEntry"},"attributes":{"type":"object","properties":{}}}}}},"LogEntryPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\LogEntry"},"attributes":{"type":"object","properties":{}}}}}},"LogEntryResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\LogEntry"},"attributes":{"type":"object","properties":{"issuer":{"type":"string"},"issuerId":{"type":"string"},"level":{"type":"string"},"message":{"type":"string"},"time":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"LogEntryPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\LogEntry"},"attributes":{"type":"object","properties":{"issuer":{"type":"string"},"issuerId":{"type":"string"},"level":{"type":"string"},"message":{"type":"string"},"time":{"type":"integer","format":"int64"}}}}}}}},"NotificationSettingCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\NotificationSetting"},"attributes":{"type":"object","properties":{"actionFilter":{"type":"string"},"action":{"type":"string"},"notification":{"type":"string"},"receiver":{"type":"string"}}}}}}},"NotificationSettingPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\NotificationSetting"},"attributes":{"type":"object","properties":{"action":{"type":"string"},"isActive":{"type":"boolean"},"notification":{"type":"string"},"receiver":{"type":"string"}}}}}}},"NotificationSettingResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\NotificationSetting"},"attributes":{"type":"object","properties":{"action":{"type":"string"},"objectId":{"type":"integer"},"notification":{"type":"string"},"userId":{"type":"integer"},"receiver":{"type":"string"},"isActive":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"user":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/notifications/relationships/user"},"related":{"type":"string","default":"/api/v2/ui/notifications/user"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"user"},"attributes":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}}}},"NotificationSettingPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\NotificationSetting"},"attributes":{"type":"object","properties":{"action":{"type":"string"},"objectId":{"type":"integer"},"notification":{"type":"string"},"userId":{"type":"integer"},"receiver":{"type":"string"},"isActive":{"type":"boolean"}}}}}}}},"NotificationSettingRelationUser":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"user"},"id":{"type":"integer","default":1}}}}},"NotificationSettingRelationUserGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"user"},"id":{"type":"integer","default":1}}}}},"PreprocessorCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Preprocessor"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"binaryName":{"type":"string"},"keyspaceCommand":{"type":"string"},"skipCommand":{"type":"string"},"limitCommand":{"type":"string"}}}}}}},"PreprocessorPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Preprocessor"},"attributes":{"type":"object","properties":{"binaryName":{"type":"string"},"keyspaceCommand":{"type":"string"},"limitCommand":{"type":"string"},"name":{"type":"string"},"skipCommand":{"type":"string"},"url":{"type":"string"}}}}}}},"PreprocessorResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Preprocessor"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"binaryName":{"type":"string"},"keyspaceCommand":{"type":"string"},"skipCommand":{"type":"string"},"limitCommand":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"PreprocessorPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Preprocessor"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"binaryName":{"type":"string"},"keyspaceCommand":{"type":"string"},"skipCommand":{"type":"string"},"limitCommand":{"type":"string"}}}}}}}},"PretaskCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Pretask"},"attributes":{"type":"object","properties":{"files":{"type":"array","items":{"type":"integer"}},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}}},"PretaskPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Pretask"},"attributes":{"type":"object","properties":{"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"color":{"type":"string"},"crackerBinaryTypeId":{"type":"integer"},"isCpuTask":{"type":"boolean"},"isMaskImport":{"type":"boolean"},"isSmall":{"type":"boolean"},"maxAgents":{"type":"integer"},"priority":{"type":"integer"},"statusTimer":{"type":"integer"},"taskName":{"type":"string"}}}}}}},"PretaskResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Pretask"},"attributes":{"type":"object","properties":{"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}},"relationships":{"type":"object","properties":{"pretaskFiles":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/pretasks/relationships/pretaskFiles"},"related":{"type":"string","default":"/api/v2/ui/pretasks/pretaskFiles"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"pretaskFiles"},"attributes":{"type":"object","properties":{"sourceType":{"type":"string"},"sourceData":{"type":"string"},"fileId":{"type":"integer"},"filename":{"type":"string"},"size":{"type":"integer","format":"int64"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"},"lineCount":{"type":"integer","format":"int64"}}}}}}}},"PretaskPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Pretask"},"attributes":{"type":"object","properties":{"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}}}},"PretaskRelationPretaskFiles":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"pretaskFiles"},"id":{"type":"integer","default":1}}}}}},"PretaskRelationPretaskFilesGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"pretaskFiles"},"id":{"type":"integer","default":1}}}}}},"SpeedResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Speed"},"attributes":{"type":"object","properties":{"agentId":{"type":"integer"},"taskId":{"type":"integer"},"speed":{"type":"integer","format":"int64"},"time":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"agent":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/speeds/relationships/agent"},"related":{"type":"string","default":"/api/v2/ui/speeds/agent"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/speeds/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/speeds/task"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"SpeedRelationTask":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"SpeedRelationTaskGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"SupertaskCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"pretasks":{"type":"array","items":{"type":"integer"}},"supertaskName":{"type":"string"}}}}}}},"SupertaskPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"supertaskName":{"type":"string"}}}}}}},"SupertaskResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"supertaskName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"pretasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/supertasks/relationships/pretasks"},"related":{"type":"string","default":"/api/v2/ui/supertasks/pretasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"pretasks"},"attributes":{"type":"object","properties":{"files":{"type":"array","items":{"type":"integer"}},"pretaskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}}}},"SupertaskSingleResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"supertaskName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"pretasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/supertasks/relationships/pretasks"},"related":{"type":"string","default":"/api/v2/ui/supertasks/pretasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"pretasks"},"attributes":{"type":"object","properties":{"files":{"type":"array","items":{"type":"integer"}},"pretaskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}}}},"SupertaskPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"supertaskName":{"type":"string"}}}}}}}},"SupertaskRelationPretasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"pretasks"},"id":{"type":"integer","default":1}}}}}},"SupertaskRelationPretasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"pretasks"},"id":{"type":"integer","default":1}}}}}},"TaskCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}},"TaskPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Task"},"attributes":{"type":"object","properties":{"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"color":{"type":"string"},"isArchived":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"isSmall":{"type":"boolean"},"maxAgents":{"type":"integer"},"notes":{"type":"string"},"priority":{"type":"integer"},"statusTimer":{"type":"integer"},"taskName":{"type":"string"}}}}}}},"TaskResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Task"},"attributes":{"type":"object","properties":{"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"assignedAgents":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/assignedAgents"},"related":{"type":"string","default":"/api/v2/ui/tasks/assignedAgents"}}}}},"crackerBinary":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/crackerBinary"},"related":{"type":"string","default":"/api/v2/ui/tasks/crackerBinary"}}}}},"crackerBinaryType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/crackerBinaryType"},"related":{"type":"string","default":"/api/v2/ui/tasks/crackerBinaryType"}}}}},"files":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/files"},"related":{"type":"string","default":"/api/v2/ui/tasks/files"}}}}},"hashlist":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/hashlist"},"related":{"type":"string","default":"/api/v2/ui/tasks/hashlist"}}}}},"speeds":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/speeds"},"related":{"type":"string","default":"/api/v2/ui/tasks/speeds"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"speeds"},"attributes":{"type":"object","properties":{"speedId":{"type":"integer"},"agentId":{"type":"integer"},"taskId":{"type":"integer"},"speed":{"type":"integer","format":"int64"},"time":{"type":"integer","format":"int64"}}}}}}}},"TaskPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Task"},"attributes":{"type":"object","properties":{"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"TaskRelationSpeeds":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"speeds"},"id":{"type":"integer","default":1}}}}}},"TaskRelationSpeedsGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"speeds"},"id":{"type":"integer","default":1}}}}}},"TaskWrapperPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\TaskWrapper"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"isArchived":{"type":"boolean"},"maxAgents":{"type":"integer"},"priority":{"type":"integer"},"taskWrapperName":{"type":"string"}}}}}}},"TaskWrapperResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\TaskWrapper"},"attributes":{"type":"object","properties":{"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"taskType":{"type":"integer","enum":[0,1]},"hashlistId":{"type":"integer"},"accessGroupId":{"type":"integer"},"taskWrapperName":{"type":"string"},"isArchived":{"type":"boolean"},"cracked":{"type":"integer"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/accessGroup"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/hashType"}}}}},"hashlist":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/hashlist"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/hashlist"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/task"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"TaskWrapperSingleResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\TaskWrapper"},"attributes":{"type":"object","properties":{"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"taskType":{"type":"integer","enum":[0,1]},"hashlistId":{"type":"integer"},"accessGroupId":{"type":"integer"},"taskWrapperName":{"type":"string"},"isArchived":{"type":"boolean"},"cracked":{"type":"integer"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/accessGroup"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/hashType"}}}}},"hashlist":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/hashlist"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/hashlist"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/task"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"TaskWrapperPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\TaskWrapper"},"attributes":{"type":"object","properties":{"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"taskType":{"type":"integer","enum":[0,1]},"hashlistId":{"type":"integer"},"accessGroupId":{"type":"integer"},"taskWrapperName":{"type":"string"},"isArchived":{"type":"boolean"},"cracked":{"type":"integer"}}}}}}}},"TaskWrapperRelationTasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"TaskWrapperRelationTasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"UserCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\User"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"globalPermissionGroupId":{"type":"integer"}}}}}}},"UserPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\User"},"attributes":{"type":"object","properties":{"email":{"type":"string"},"globalPermissionGroupId":{"type":"integer"},"isValid":{"type":"boolean"},"sessionLifetime":{"type":"integer"}}}}}}},"UserResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/users?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/users?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/users?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/users?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/users?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\User"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"accessGroups":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/users/relationships/accessGroups"},"related":{"type":"string","default":"/api/v2/ui/users/accessGroups"}}}}},"globalPermissionGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/users/relationships/globalPermissionGroup"},"related":{"type":"string","default":"/api/v2/ui/users/globalPermissionGroup"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"accessGroups"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"groupName":{"type":"string"}}}}}}}},"UserPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\User"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}}}},"UserRelationAccessGroups":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"accessGroups"},"id":{"type":"integer","default":1}}}}}},"UserRelationAccessGroupsGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"accessGroups"},"id":{"type":"integer","default":1}}}}}},"RegVoucherCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\RegVoucher"},"attributes":{"type":"object","properties":{"voucher":{"type":"string"}}}}}}},"RegVoucherPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\RegVoucher"},"attributes":{"type":"object","properties":{"voucher":{"type":"string"}}}}}}},"RegVoucherResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\RegVoucher"},"attributes":{"type":"object","properties":{"voucher":{"type":"string"},"time":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"RegVoucherPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\RegVoucher"},"attributes":{"type":"object","properties":{"voucher":{"type":"string"},"time":{"type":"integer","format":"int64"}}}}}}}},"AbortChunkHelperAPI":{"type":"object","properties":{"chunkId":{"type":"integer"}}},"AbortChunkHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Abort":{"type":"string","default":"Success"}}}},"AssignAgentHelperAPI":{"type":"object","properties":{"agentId":{"type":"integer"},"taskId":{"type":"integer"}}},"AssignAgentHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Assign":{"type":"string","default":"Success"}}}},"BulkSupertaskBuilderHelperAPI":{"type":"object","properties":{"name":{"type":"string"},"isCpu":{"type":"boolean"},"isSmall":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"},"benchtype":{"type":"string"},"command":{"type":"string"},"maxAgents":{"type":"integer"},"basefiles":{"type":"array","items":{"type":"integer"}},"iterfiles":{"type":"array","items":{"type":"integer"}}}},"ChangeOwnPasswordHelperAPI":{"type":"object","properties":{"oldPassword":{"type":"string"},"newPassword":{"type":"string"},"confirmPassword":{"type":"string"}}},"ChangeOwnPasswordHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Change password":{"type":"string","default":"Password succesfully updated!"}}}},"CreateSuperHashlistHelperAPI":{"type":"object","properties":{"hashlistIds":{"type":"array","items":{"type":"integer"}},"name":{"type":"string"}}},"CreateSupertaskHelperAPI":{"type":"object","properties":{"supertaskTemplateId":{"type":"integer"},"hashlistId":{"type":"integer"},"crackerVersionId":{"type":"integer"}}},"ExportCrackedHashesHelperAPI":{"type":"object","properties":{"hashlistId":{"type":"integer"}}},"ExportLeftHashesHelperAPI":{"type":"object","properties":{"hashlistId":{"type":"integer"}}},"ExportWordlistHelperAPI":{"type":"object","properties":{"hashlistId":{"type":"integer"}}},"ImportCrackedHashesHelperAPI":{"type":"object","properties":{"hashlistId":{"type":"integer"},"sourceType":{"type":"string"},"sourceData":{"type":"string"},"separator":{"type":"string"},"overwrite":{"type":"integer"}}},"ImportCrackedHashesHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"totalLines":{"type":"integer","default":100},"newCracked":{"type":"integer","default":5},"alreadyCracked":{"type":"integer","default":2},"invalid":{"type":"integer","default":1},"notFound":{"type":"integer","default":1},"processTime":{"type":"integer","default":60},"tooLongPlaintexts":{"type":"integer","default":4}}}},"ImportFileHelperAPI":{"type":"object","properties":{}},"MaskSupertaskBuilderHelperAPI":{"type":"object","properties":{"name":{"type":"string"},"isCpu":{"type":"boolean"},"isSmall":{"type":"boolean"},"optimized":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"},"benchtype":{"type":"string"},"masks":{"type":"string"},"maxAgents":{"type":"integer"}}},"PurgeTaskHelperAPI":{"type":"object","properties":{"taskId":{"type":"integer"}}},"PurgeTaskHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Purge":{"type":"string","default":"Success"}}}},"RebuildChunkCacheHelperAPI":{"type":"object","properties":{}},"RebuildChunkCacheHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Rebuild":{"type":"string","default":"Success"}}}},"RecountFileLinesHelperAPI":{"type":"object","properties":{"fileId":{"type":"integer"}}},"RescanGlobalFilesHelperAPI":{"type":"object","properties":{}},"RescanGlobalFilesHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Rescan":{"type":"string","default":"Success"}}}},"ResetChunkHelperAPI":{"type":"object","properties":{"chunkId":{"type":"integer"}}},"ResetChunkHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Reset":{"type":"string","default":"Success"}}}},"ResetUserPasswordHelperAPI":{"type":"object","properties":{"email":{"type":"string"},"username":{"type":"string"}}},"ResetUserPasswordHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Reset":{"type":"string","default":"Success"}}}},"SearchHashesHelperAPI":{"type":"object","properties":{"searchData":{"type":"string"},"separator":{"type":"string"},"isSalted":{"type":"boolean"}}},"SearchHashesHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"0":{"type":"object","default":{"found":false,"query":"12345678"}},"1":{"type":"object","default":{"found":true,"query":"54321","matches":[{"type":"hash","id":552,"attributes":{"hashlistId":5,"hash":"7682543218768","salt":"","plaintext":"","timeCracked":0,"chunkId":null,"isCracked":false,"crackPos":0},"links":{"self":"/api/v2/ui/hashes/552"},"relationships":{"chunk":{"links":{"self":"/api/v2/ui/hashes/552/relationships/chunk","related":"/api/v2/ui/hashes/552/chunk"}},"hashlist":{"links":{"self":"/api/v2/ui/hashes/552/relationships/hashlist","related":"/api/v2/ui/hashes/552/hashlist"}}}},{"type":"hash","id":1,"attributes":{"hashlistId":5,"hash":"54321768671","salt":"","plaintext":"","timeCracked":0,"chunkId":null,"isCracked":false,"crackPos":0},"links":{"self":"/api/v2/ui/hashes/1"},"relationships":{"chunk":{"links":{"self":"/api/v2/ui/hashes/1/relationships/chunk","related":"/api/v2/ui/hashes/1/chunk"}},"hashlist":{"links":{"self":"/api/v2/ui/hashes/1/relationships/hashlist","related":"/api/v2/ui/hashes/1/hashlist"}}}}]}}}}},"SetUserPasswordHelperAPI":{"type":"object","properties":{"userId":{"type":"integer"},"password":{"type":"string"}}},"SetUserPasswordHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Set password":{"type":"string","default":"Success"}}}},"UnassignAgentHelperAPI":{"type":"object","properties":{"agentId":{"type":"integer"}}},"UnassignAgentHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Unassign":{"type":"string","default":"Success"}}}},"Token":{"type":"object","properties":{"token":{"type":"string"},"expires":{"type":"integer"}},"additionalProperties":false},"TokenRequest":{"type":"array","items":{"type":"string","example":"role.all"}}},"securitySchemes":{"bearerAuth":{"type":"http","description":"JWT Authorization header using the Bearer scheme.","scheme":"bearer","bearerFormat":"JWT"},"basicAuth":{"type":"http","description":"Basic Authorization header.","scheme":"basic"}}},"tags":[{"name":"AccessGroups"},{"name":"AgentBinarys"},{"name":"AgentErrors"},{"name":"AgentStats"},{"name":"Agents"},{"name":"Assignments"},{"name":"Chunks"},{"name":"ConfigSections"},{"name":"Configs"},{"name":"CrackerBinaryTypes"},{"name":"CrackerBinarys"},{"name":"Files"},{"name":"HashTypes"},{"name":"Hashlists"},{"name":"Hashs"},{"name":"HealthCheckAgents"},{"name":"HealthChecks"},{"name":"Helpers"},{"name":"JwtApiKeys"},{"name":"LogEntrys"},{"name":"Login"},{"name":"NotificationSettings"},{"name":"Preprocessors"},{"name":"Pretasks"},{"name":"RegVouchers"},{"name":"RightGroups"},{"name":"Speeds"},{"name":"Supertasks"},{"name":"TaskWrappers"},{"name":"Tasks"},{"name":"Users"}]} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0fed67084..12a453e0e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,6 +60,9 @@ "@eslint/compat": "^2.0.2", "@eslint/eslintrc": "^3.3.4", "@eslint/js": "^9.39.3", + "@hey-api/openapi-ts": "^0.94.2", + "@redocly/cli": "^2.24.0", + "@stoplight/spectral-cli": "^6.15.0", "@trivago/prettier-plugin-sort-imports": "^4.2.1", "@types/jasmine": "~4.3.5", "@types/node": "^20.5.0", @@ -852,34 +855,6 @@ } } }, - "node_modules/@angular/compiler-cli/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@angular/compiler-cli/node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@angular/core": { "version": "20.3.17", "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.17.tgz", @@ -1026,6 +1001,16 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@asyncapi/specs": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.11.1.tgz", + "integrity": "sha512-A3WBLqAKGoJ2+6FWFtpjBlCQ1oFCcs4GxF7zsIGvNqp/klGUHjlA3aAcZ9XMMpLGE8zPeYDz2x9FmO6DSuKraQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.11" + } + }, "node_modules/@babel/code-frame": { "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", @@ -1360,6 +1345,30 @@ "node": ">=0.1.90" } }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz", + "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "dev": true, + "license": "MIT" + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", @@ -2014,6 +2023,24 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@faker-js/faker": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-7.6.0.tgz", + "integrity": "sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0", + "npm": ">=6.0.0" + } + }, "node_modules/@fast-csv/format": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz", @@ -2159,6 +2186,101 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/@hey-api/codegen-core": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@hey-api/codegen-core/-/codegen-core-0.7.3.tgz", + "integrity": "sha512-tRxwr8hPbPgETbcfxbg0K4nZZxUM51I0hEHfLEWLmsTbnpY/E4CU25/PyHXD0KdKQS4TwkAL2csEXFQth6AzBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hey-api/types": "0.1.4", + "ansi-colors": "4.1.3", + "c12": "3.3.3", + "color-support": "1.1.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/hey-api" + } + }, + "node_modules/@hey-api/json-schema-ref-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@hey-api/json-schema-ref-parser/-/json-schema-ref-parser-1.3.1.tgz", + "integrity": "sha512-7atnpUkT8TyUPHYPLk91j/GyaqMuwTEHanLOe50Dlx0EEvNuQqFD52Yjg8x4KU0UFL1mWlyhE+sUE/wAtQ1N2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jsdevtools/ono": "7.1.3", + "@types/json-schema": "7.0.15", + "js-yaml": "4.1.1" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/hey-api" + } + }, + "node_modules/@hey-api/openapi-ts": { + "version": "0.94.2", + "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.94.2.tgz", + "integrity": "sha512-k8BmVfRZ3Ntpt99+0wzbw18sssf9mMgCpUFi9hTdUTGCgXEFlCnM6HW6tWZjPtT4CbclNqLVvSrfIABrRE88YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hey-api/codegen-core": "0.7.3", + "@hey-api/json-schema-ref-parser": "1.3.1", + "@hey-api/shared": "0.2.4", + "@hey-api/types": "0.1.4", + "ansi-colors": "4.1.3", + "color-support": "1.1.3", + "commander": "14.0.3", + "get-tsconfig": "4.13.6" + }, + "bin": { + "openapi-ts": "bin/run.js" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/hey-api" + }, + "peerDependencies": { + "typescript": ">=5.5.3 || 6.0.1-rc" + } + }, + "node_modules/@hey-api/shared": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@hey-api/shared/-/shared-0.2.4.tgz", + "integrity": "sha512-a3YPByL+odEY9QnEh0uhPJZFgLxzB4YEss+8mexU4ZQ3sL3Y/BbEiDPhLT2HI9xXgagYK/KScy8J7Jm14Zma0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hey-api/codegen-core": "0.7.3", + "@hey-api/json-schema-ref-parser": "1.3.1", + "@hey-api/types": "0.1.4", + "ansi-colors": "4.1.3", + "cross-spawn": "7.0.6", + "open": "11.0.0", + "semver": "7.7.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/hey-api" + } + }, + "node_modules/@hey-api/types": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@hey-api/types/-/types-0.1.4.tgz", + "integrity": "sha512-thWfawrDIP7wSI9ioT13I5soaaqB5vAPIiZmgD8PbeEVKNrkonc0N/Sjj97ezl7oQgusZmaNphGdMKipPO6IBg==", + "dev": true, + "license": "MIT" + }, "node_modules/@hono/node-server": { "version": "1.19.10", "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.10.tgz", @@ -2210,6 +2332,16 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@humanwhocodes/momoa": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz", + "integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.10.0" + } + }, "node_modules/@humanwhocodes/retry": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", @@ -2643,6 +2775,52 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jsep-plugin/assignment": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz", + "integrity": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.4.tgz", + "integrity": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/ternary": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@jsep-plugin/ternary/-/ternary-1.1.4.tgz", + "integrity": "sha512-ck5wiqIbqdMX6WRQztBL7ASDty9YLgJ3sSAK5ZpBzXeySvFGCzIvM6UiAI4hTZ22fEcYQVV/zhUbNscggW+Ukg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, "node_modules/@listr2/prompt-adapter-inquirer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", @@ -3247,6 +3425,57 @@ "rxjs": "^6.5.3 || ^7.5.0" } }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@npmcli/agent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz", @@ -3552,97 +3781,307 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@parcel/watcher": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", - "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/api-logs": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.202.0.tgz", + "integrity": "sha512-fTBjMqKCfotFWfLzaKyhjLvyEyq5vDKTTFfBmx21btv3gvy8Lq6N5Dh2OzqeuN4DjtpSvNT1uNVfg08eD2Rfxw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "detect-libc": "^2.0.3", - "is-glob": "^4.0.3", - "node-addon-api": "^7.0.0", - "picomatch": "^4.0.3" + "@opentelemetry/api": "^1.3.0" }, "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.6", - "@parcel/watcher-darwin-arm64": "2.5.6", - "@parcel/watcher-darwin-x64": "2.5.6", - "@parcel/watcher-freebsd-x64": "2.5.6", - "@parcel/watcher-linux-arm-glibc": "2.5.6", - "@parcel/watcher-linux-arm-musl": "2.5.6", - "@parcel/watcher-linux-arm64-glibc": "2.5.6", - "@parcel/watcher-linux-arm64-musl": "2.5.6", - "@parcel/watcher-linux-x64-glibc": "2.5.6", - "@parcel/watcher-linux-x64-musl": "2.5.6", - "@parcel/watcher-win32-arm64": "2.5.6", - "@parcel/watcher-win32-ia32": "2.5.6", - "@parcel/watcher-win32-x64": "2.5.6" + "node": ">=8.0.0" } }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", - "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", - "cpu": [ - "arm64" - ], + "node_modules/@opentelemetry/context-async-hooks": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.0.1.tgz", + "integrity": "sha512-XuY23lSI3d4PEqKA+7SLtAgwqIfc6E/E9eAQWLN1vlpC53ybO3o6jW4BsXo1xvz9lYyyWItfQDDLzezER01mCw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "license": "Apache-2.0", "engines": { - "node": ">= 10.0.0" + "node": "^18.19.0 || >=20.6.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", - "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", - "cpu": [ - "arm64" - ], + "node_modules/@opentelemetry/core": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.0.1.tgz", + "integrity": "sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, "engines": { - "node": ">= 10.0.0" + "node": "^18.19.0 || >=20.6.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", - "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", - "cpu": [ - "x64" - ], + "node_modules/@opentelemetry/exporter-trace-otlp-http": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.202.0.tgz", + "integrity": "sha512-/hKE8DaFCJuaQqE1IxpgkcjOolUIwgi3TgHElPVKGdGRBSmJMTmN/cr6vWa55pCJIXPyhKvcMrbrya7DZ3VmzA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/otlp-exporter-base": "0.202.0", + "@opentelemetry/otlp-transformer": "0.202.0", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/otlp-exporter-base": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.202.0.tgz", + "integrity": "sha512-nMEOzel+pUFYuBJg2znGmHJWbmvMbdX5/RhoKNKowguMbURhz0fwik5tUKplLcUtl8wKPL1y9zPnPxeBn65N0Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/otlp-transformer": "0.202.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/otlp-transformer": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.202.0.tgz", + "integrity": "sha512-5XO77QFzs9WkexvJQL9ksxL8oVFb/dfi9NWQSq7Sv0Efr9x3N+nb1iklP1TeVgxqJ7m1xWiC/Uv3wupiQGevMw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.202.0", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/sdk-logs": "0.202.0", + "@opentelemetry/sdk-metrics": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1", + "protobufjs": "^7.3.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/resources": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.0.1.tgz", + "integrity": "sha512-dZOB3R6zvBwDKnHDTB4X1xtMArB/d324VsbiPkX/Yu0Q8T2xceRthoIVFhJdvgVM2QhGVUyX9tzwiNxGtoBJUw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-logs": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.202.0.tgz", + "integrity": "sha512-pv8QiQLQzk4X909YKm0lnW4hpuQg4zHwJ4XBd5bZiXcd9urvrJNoNVKnxGHPiDVX/GiLFvr5DMYsDBQbZCypRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.202.0", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.4.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.0.1.tgz", + "integrity": "sha512-wf8OaJoSnujMAHWR3g+/hGvNcsC16rf9s1So4JlMiFaFHiE4HpIA3oUh+uWZQ7CNuK8gVW/pQSkgoa5HkkOl0g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.9.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.0.1.tgz", + "integrity": "sha512-xYLlvk/xdScGx1aEqvxLwf6sXQLXCjk3/1SQT9X9AoN5rXRhkdvIFShuNNmtTEPRBqcsMbS4p/gJLNI2wXaDuQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-node": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.0.1.tgz", + "integrity": "sha512-UhdbPF19pMpBtCWYP5lHbTogLWx9N0EBxtdagvkn5YtsAnCBZzL7SjktG+ZmupRgifsHMjwUaCCaVmqGfSADmA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/context-async-hooks": "2.0.1", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.34.0.tgz", + "integrity": "sha512-aKcOkyrorBGlajjRdVoJWHTxfxO1vCNHLJVlSDaRHDIdjU+pX8IYQPvPDkYiujKLbRnWU+1TBwEt0QRgSm4SGA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" ], "engines": { "node": ">= 10.0.0" @@ -3883,6 +4322,80 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/@puppeteer/browsers": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.13.0.tgz", @@ -4035,35 +4548,353 @@ "node": ">=12" } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", - "cpu": [ - "arm" - ], + "node_modules/@redocly/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-F+LMD2IDIXuHxgpLJh3nkLj9+tSaEzoUWd+7fONGq5pe2169FUDjpEkOfEpoGLz1sbZni/69p07OsecNfAOpqA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", - "cpu": [ - "arm64" - ], + "node_modules/@redocly/cli": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@redocly/cli/-/cli-2.24.0.tgz", + "integrity": "sha512-g5iKfmG1rgbpQ/mBnEH78bJbAUx2XxLSJTYdYGuvsrT8CODbOyza1xFF7kwOFo93JV62lmu3IfzNIxFj9FACYw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "dependencies": { + "@opentelemetry/exporter-trace-otlp-http": "0.202.0", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/sdk-trace-node": "2.0.1", + "@opentelemetry/semantic-conventions": "1.34.0", + "@redocly/openapi-core": "2.24.0", + "@redocly/respect-core": "2.24.0", + "abort-controller": "^3.0.0", + "ajv": "npm:@redocly/ajv@8.18.0", + "ajv-formats": "^3.0.1", + "colorette": "^1.2.0", + "cookie": "^0.7.2", + "dotenv": "16.4.7", + "glob": "^13.0.5", + "handlebars": "^4.7.6", + "https-proxy-agent": "^7.0.5", + "mobx": "^6.0.4", + "picomatch": "^4.0.3", + "pluralize": "^8.0.0", + "react": "^17.0.0 || ^18.2.0 || ^19.2.1", + "react-dom": "^17.0.0 || ^18.2.0 || ^19.2.1", + "redoc": "2.5.1", + "semver": "^7.5.2", + "set-cookie-parser": "^2.3.5", + "simple-websocket": "^9.0.0", + "styled-components": "6.3.9", + "ulid": "^3.0.1", + "undici": "^6.24.1", + "yargs": "17.0.1" + }, + "bin": { + "openapi": "bin/cli.js", + "redocly": "bin/cli.js" + }, + "engines": { + "node": ">=22.12.0 || >=20.19.0 <21.0.0", + "npm": ">=10" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { + "node_modules/@redocly/cli/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@redocly/cli/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@redocly/cli/node_modules/brace-expansion": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@redocly/cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@redocly/cli/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@redocly/cli/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@redocly/cli/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@redocly/cli/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@redocly/cli/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@redocly/cli/node_modules/minimatch": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@redocly/cli/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@redocly/cli/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@redocly/cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@redocly/cli/node_modules/yargs": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz", + "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@redocly/cli/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/@redocly/config": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.44.1.tgz", + "integrity": "sha512-l6/ZE+/RBfNDdhzltau6cbW8+k5PgJbJBMqaBrlQlZQlmGBHMxqGyDaon4dPLj0jdi37gsMQ3yf95JBY/vaDSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-schema-to-ts": "2.7.2" + } + }, + "node_modules/@redocly/openapi-core": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-2.24.0.tgz", + "integrity": "sha512-4j8+OKA+bFBOj9Uhr6LJuNnFQpKAE9uK5Smw4yd2WJS2bcsJhCqbUWOG9N1cYBUFlwRQpLBT1ZOSmDFYv81NOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@redocly/ajv": "^8.18.0", + "@redocly/config": "^0.44.1", + "ajv": "npm:@redocly/ajv@8.18.0", + "ajv-formats": "^3.0.1", + "colorette": "^1.2.0", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "picomatch": "^4.0.3", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=22.12.0 || >=20.19.0 <21.0.0", + "npm": ">=10" + } + }, + "node_modules/@redocly/openapi-core/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@redocly/respect-core": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@redocly/respect-core/-/respect-core-2.24.0.tgz", + "integrity": "sha512-3Gp+4X5V6DCATmB7OYpUrGKEYaR8quq2LD+PsniEAMTfG+oyuDHJRUy3zXYfGQGT7PDi0iXUZ8PEWUFzgVdyZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@faker-js/faker": "^7.6.0", + "@noble/hashes": "^1.8.0", + "@redocly/ajv": "^8.18.0", + "@redocly/openapi-core": "2.24.0", + "ajv": "npm:@redocly/ajv@8.18.0", + "better-ajv-errors": "^1.2.0", + "colorette": "^2.0.20", + "json-pointer": "^0.6.2", + "jsonpath-rfc9535": "1.3.0", + "openapi-sampler": "^1.7.1", + "outdent": "^0.8.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=22.12.0 || >=20.19.0 <21.0.0", + "npm": ">=10" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.59.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", @@ -4506,33 +5337,900 @@ "dev": true, "license": "MIT" }, - "node_modules/@swc/helpers": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", - "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", + "node_modules/@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "tslib": "^2.8.0" + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + }, + "peerDependencies": { + "ajv": ">=8" } }, - "node_modules/@tailwindcss/node": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", - "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", - "license": "MIT", + "node_modules/@stoplight/json": { + "version": "3.21.7", + "resolved": "https://registry.npmjs.org/@stoplight/json/-/json-3.21.7.tgz", + "integrity": "sha512-xcJXgKFqv/uCEgtGlPxy3tPA+4I+ZI4vAuMJ885+ThkTHFVkC+0Fm58lA9NlsyjnkpxFh4YiQWpH+KefHdbA0A==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "^5.19.0", - "jiti": "^2.6.1", - "lightningcss": "1.31.1", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.2.1" + "@stoplight/ordered-object-literal": "^1.0.3", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^13.6.0", + "jsonc-parser": "~2.2.1", + "lodash": "^4.17.21", + "safe-stable-stringify": "^1.1" + }, + "engines": { + "node": ">=8.3.0" } }, - "node_modules/@tailwindcss/node/node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "node_modules/@stoplight/json-ref-readers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", + "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-fetch": "^2.6.0", + "tslib": "^1.14.1" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@stoplight/json-ref-resolver": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", + "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "^3.21.0", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^12.3.0 || ^13.0.0", + "@types/urijs": "^1.19.19", + "dependency-graph": "~0.11.0", + "fast-memoize": "^2.5.2", + "immer": "^9.0.6", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "urijs": "^1.19.11" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/json/node_modules/jsonc-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", + "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@stoplight/ordered-object-literal": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.5.tgz", + "integrity": "sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/path": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@stoplight/path/-/path-1.3.2.tgz", + "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-cli": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-cli/-/spectral-cli-6.15.0.tgz", + "integrity": "sha512-FVeQIuqQQnnLfa8vy+oatTKUve7uU+3SaaAfdjpX/B+uB1NcfkKRJYhKT9wMEehDRaMPL5AKIRYMCFerdEbIpw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "~3.21.0", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-core": "^1.19.5", + "@stoplight/spectral-formatters": "^1.4.1", + "@stoplight/spectral-parsers": "^1.0.4", + "@stoplight/spectral-ref-resolver": "^1.0.4", + "@stoplight/spectral-ruleset-bundler": "^1.6.0", + "@stoplight/spectral-ruleset-migrator": "^1.11.0", + "@stoplight/spectral-rulesets": ">=1", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.6.0", + "chalk": "4.1.2", + "fast-glob": "~3.2.12", + "hpagent": "~1.2.0", + "lodash": "~4.17.21", + "pony-cause": "^1.1.1", + "stacktracey": "^2.1.8", + "tslib": "^2.8.1", + "yargs": "~17.7.2" + }, + "bin": { + "spectral": "dist/index.js" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-cli/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-cli/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-cli/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@stoplight/spectral-cli/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-cli/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-cli/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@stoplight/spectral-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/@stoplight/spectral-core": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.21.0.tgz", + "integrity": "sha512-oj4e/FrDLUhBRocIW+lRMKlJ/q/rDZw61HkLbTFsdMd+f/FTkli2xHNB1YC6n1mrMKjjvy7XlUuFkC7XxtgbWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "~3.21.0", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-parsers": "^1.0.0", + "@stoplight/spectral-ref-resolver": "^1.0.4", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "~13.6.0", + "@types/es-aggregate-error": "^1.0.2", + "@types/json-schema": "^7.0.11", + "ajv": "^8.17.1", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.1", + "es-aggregate-error": "^1.0.7", + "jsonpath-plus": "^10.3.0", + "lodash": "~4.17.23", + "lodash.topath": "^4.5.2", + "minimatch": "3.1.2", + "nimma": "0.2.3", + "pony-cause": "^1.1.1", + "simple-eval": "1.0.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.6.0.tgz", + "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@stoplight/spectral-core/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@stoplight/spectral-formats": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.8.2.tgz", + "integrity": "sha512-c06HB+rOKfe7tuxg0IdKDEA5XnjL2vrn/m/OVIIxtINtBzphZrOgtRn7epQ5bQF5SWp84Ue7UJWaGgDwVngMFw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "^3.17.0", + "@stoplight/spectral-core": "^1.19.2", + "@types/json-schema": "^7.0.7", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-formatters": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-formatters/-/spectral-formatters-1.5.0.tgz", + "integrity": "sha512-lR7s41Z00Mf8TdXBBZQ3oi2uR8wqAtR6NO0KA8Ltk4FSpmAy0i6CKUmJG9hZQjanTnGmwpQkT/WP66p1GY3iXA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/path": "^1.3.2", + "@stoplight/spectral-core": "^1.19.4", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.15.0", + "@types/markdown-escape": "^1.1.3", + "chalk": "4.1.2", + "cliui": "7.0.4", + "lodash": "^4.17.21", + "markdown-escape": "^2.0.0", + "node-sarif-builder": "^2.0.3", + "strip-ansi": "6.0", + "text-table": "^0.2.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-formatters/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-formatters/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@stoplight/spectral-formatters/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@stoplight/spectral-formatters/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-formatters/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-formatters/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-formatters/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@stoplight/spectral-functions": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.10.1.tgz", + "integrity": "sha512-obu8ZfoHxELOapfGsCJixKZXZcffjg+lSoNuttpmUFuDzVLT3VmH8QkPXfOGOL5Pz80BR35ClNAToDkdnYIURg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "^3.17.1", + "@stoplight/spectral-core": "^1.19.4", + "@stoplight/spectral-formats": "^1.8.1", + "@stoplight/spectral-runtime": "^1.1.2", + "ajv": "^8.17.1", + "ajv-draft-04": "~1.0.0", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.1", + "lodash": "~4.17.21", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-functions/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@stoplight/spectral-parsers": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-parsers/-/spectral-parsers-1.0.5.tgz", + "integrity": "sha512-ANDTp2IHWGvsQDAY85/jQi9ZrF4mRrA5bciNHX+PUxPr4DwS6iv4h+FVWJMVwcEYdpyoIdyL+SRmHdJfQEPmwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "~3.21.0", + "@stoplight/types": "^14.1.1", + "@stoplight/yaml": "~4.3.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-parsers/node_modules/@stoplight/types": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/spectral-ref-resolver": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.5.tgz", + "integrity": "sha512-gj3TieX5a9zMW29z3mBlAtDOCgN3GEc1VgZnCVlr5irmR4Qi5LuECuFItAq4pTn5Zu+sW5bqutsCH7D4PkpyAA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json-ref-readers": "1.2.2", + "@stoplight/json-ref-resolver": "~3.1.6", + "@stoplight/spectral-runtime": "^1.1.2", + "dependency-graph": "0.11.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-ruleset-bundler": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-ruleset-bundler/-/spectral-ruleset-bundler-1.6.3.tgz", + "integrity": "sha512-AQFRO6OCKg8SZJUupnr3+OzI1LrMieDTEUHsYgmaRpNiDRPvzImE3bzM1KyQg99q58kTQyZ8kpr7sG8Lp94RRA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@rollup/plugin-commonjs": "~22.0.2", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-core": ">=1", + "@stoplight/spectral-formats": "^1.8.1", + "@stoplight/spectral-functions": ">=1", + "@stoplight/spectral-parsers": ">=1", + "@stoplight/spectral-ref-resolver": "^1.0.4", + "@stoplight/spectral-ruleset-migrator": "^1.9.6", + "@stoplight/spectral-rulesets": ">=1", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.6.0", + "@types/node": "*", + "pony-cause": "1.1.1", + "rollup": "~2.79.2", + "tslib": "^2.8.1", + "validate-npm-package-name": "3.0.0" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-ruleset-bundler/node_modules/@rollup/plugin-commonjs": { + "version": "22.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-22.0.2.tgz", + "integrity": "sha512-//NdP6iIwPbMTcazYsiBMbJW7gfmpHom33u1beiIoHDEM0Q9clvtQB1T0efvMqHeKsGohiHo97BCPCkBXdscwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0" + } + }, + "node_modules/@stoplight/spectral-ruleset-bundler/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@stoplight/spectral-ruleset-bundler/node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@stoplight/spectral-ruleset-bundler/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@stoplight/spectral-ruleset-bundler/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@stoplight/spectral-ruleset-bundler/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@stoplight/spectral-ruleset-bundler/node_modules/rollup": { + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@stoplight/spectral-ruleset-bundler/node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/@stoplight/spectral-ruleset-migrator": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-ruleset-migrator/-/spectral-ruleset-migrator-1.11.3.tgz", + "integrity": "sha512-+9Y1zFxYmSsneT5FPkgS1IlRQs0VgtdMT77f5xf6vzje9ezyhfs7oXwbZOCSZjEJew8iVZBKQtiOFndcBrdtqg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "~3.21.0", + "@stoplight/ordered-object-literal": "~1.0.4", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-functions": "^1.9.1", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.6.0", + "@stoplight/yaml": "~4.2.3", + "@types/node": "*", + "ajv": "^8.17.1", + "ast-types": "0.14.2", + "astring": "^1.9.0", + "reserved": "0.1.2", + "tslib": "^2.8.1", + "validate-npm-package-name": "3.0.0" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/@stoplight/yaml": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.2.3.tgz", + "integrity": "sha512-Mx01wjRAR9C7yLMUyYFTfbUf5DimEpHMkRDQ1PKLe9dfNILbgdxyrncsOXM3vCpsQ1Hfj4bPiGl+u4u6e9Akqw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/ordered-object-literal": "^1.0.1", + "@stoplight/types": "^13.0.0", + "@stoplight/yaml-ast-parser": "0.0.48", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=10.8" + } + }, + "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/@stoplight/yaml-ast-parser": { + "version": "0.0.48", + "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.48.tgz", + "integrity": "sha512-sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/@stoplight/spectral-rulesets": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-rulesets/-/spectral-rulesets-1.22.0.tgz", + "integrity": "sha512-l2EY2jiKKLsvnPfGy+pXC0LeGsbJzcQP5G/AojHgf+cwN//VYxW1Wvv4WKFx/CLmLxc42mJYF2juwWofjWYNIQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@asyncapi/specs": "^6.8.0", + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "^3.17.0", + "@stoplight/spectral-core": "^1.19.4", + "@stoplight/spectral-formats": "^1.8.1", + "@stoplight/spectral-functions": "^1.9.1", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.6.0", + "@types/json-schema": "^7.0.7", + "ajv": "^8.17.1", + "ajv-formats": "~2.1.1", + "json-schema-traverse": "^1.0.0", + "leven": "3.1.0", + "lodash": "~4.17.21", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-rulesets/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@stoplight/spectral-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@stoplight/spectral-runtime/-/spectral-runtime-1.1.4.tgz", + "integrity": "sha512-YHbhX3dqW0do6DhiPSgSGQzr6yQLlWybhKwWx0cqxjMwxej3TqLv3BXMfIUYFKKUqIwH4Q2mV8rrMM8qD2N0rQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "^3.20.1", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^13.6.0", + "abort-controller": "^3.0.0", + "lodash": "^4.17.21", + "node-fetch": "^2.7.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/types": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-13.20.0.tgz", + "integrity": "sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@stoplight/yaml/-/yaml-4.3.0.tgz", + "integrity": "sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/ordered-object-literal": "^1.0.5", + "@stoplight/types": "^14.1.1", + "@stoplight/yaml-ast-parser": "0.0.50", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=10.8" + } + }, + "node_modules/@stoplight/yaml-ast-parser": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.50.tgz", + "integrity": "sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@stoplight/yaml/node_modules/@stoplight/types": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@swc/helpers": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", + "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", + "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.31.1", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.1" + } + }, + "node_modules/@tailwindcss/node/node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "license": "MIT", "dependencies": { @@ -5062,6 +6760,16 @@ "@types/zrender": "*" } }, + "node_modules/@types/es-aggregate-error": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.6.tgz", + "integrity": "sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/esrecurse": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", @@ -5097,6 +6805,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/markdown-escape": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/markdown-escape/-/markdown-escape-1.1.3.tgz", + "integrity": "sha512-JIc1+s3y5ujKnt/+N+wq6s/QdL2qZ11fP79MijrVXsAAnzSxCbT2j/3prHRouJdZ2yFLN3vkP0HytfnoCczjOw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "20.19.35", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.35.tgz", @@ -5131,13 +6846,35 @@ "license": "MIT", "optional": true }, + "node_modules/@types/sarif": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@types/sarif/-/sarif-2.1.7.tgz", + "integrity": "sha512-kRz0VEkJqWLf1LLVN4pT1cg1Z9wAuvI6L97V3m2f5B76Tg8d413ddvLBPTEHAZJlnn4XSvu0FkZtViCQGVyrXQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stylis": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.7.tgz", + "integrity": "sha512-VgDNokpBoKF+wrdvhAAfS55OMQpL6QRglwTwNC3kIgBrzZxA4WsFj+2eLfEA/uMUDzBcEhYmjSbwQakn/i3ajA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true, "license": "MIT", "optional": true }, + "node_modules/@types/urijs": { + "version": "1.19.26", + "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.26.tgz", + "integrity": "sha512-wkXrVzX5yoqLnndOwFsieJA7oKM8cNkOKJtf/3vVGSUFkWDKZvFHpIl9Pvqb/T9UsawBBFMTTD8xu7sK5MWuvg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/yauzl": { "version": "2.10.3", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", @@ -5477,6 +7214,19 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/accepts": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", @@ -5531,6 +7281,7 @@ "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5542,6 +7293,31 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, "node_modules/ajv-formats": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", @@ -5586,6 +7362,16 @@ "node": ">= 14.0.0" } }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/ansi-escapes": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", @@ -5871,6 +7657,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/as-table": { + "version": "1.0.55", + "resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz", + "integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "printable-characters": "^1.0.42" + } + }, "node_modules/ast-types": { "version": "0.13.4", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", @@ -5884,6 +7680,16 @@ "node": ">=4" } }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "dev": true, + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", @@ -6111,6 +7917,26 @@ "node": ">=14.0.0" } }, + "node_modules/better-ajv-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", + "integrity": "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@humanwhocodes/momoa": "^2.0.2", + "chalk": "^4.1.2", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0 < 4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "peerDependencies": { + "ajv": "4.11.8 - 8" + } + }, "node_modules/big-integer": { "version": "1.6.52", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", @@ -6357,6 +8183,29 @@ "node": ">=0.2.0" } }, + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -6367,6 +8216,65 @@ "node": ">= 0.8" } }, + "node_modules/c12": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.3.3.tgz", + "integrity": "sha512-750hTRvgBy5kcMNPdh95Qo+XUBeGo8C7nsKSmedDmaQI+E0r82DwHeM6vBewDe4rGFbnxoa4V9pw+sPh5+Iz8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^5.0.0", + "confbox": "^0.2.2", + "defu": "^6.1.4", + "dotenv": "^17.2.3", + "exsolve": "^1.0.8", + "giget": "^2.0.0", + "jiti": "^2.6.1", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "perfect-debounce": "^2.0.0", + "pkg-types": "^2.3.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "*" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/c12/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/c12/node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/cacache": { "version": "20.0.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz", @@ -6507,6 +8415,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "dev": true, + "license": "MIT" + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -6517,6 +8432,16 @@ "node": ">=6" } }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001776", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001776.tgz", @@ -6593,6 +8518,21 @@ "dev": true, "license": "MIT" }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/chownr": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", @@ -6627,6 +8567,23 @@ "url": "https://github.com/sponsors/colinhacks" } }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", + "dev": true, + "license": "MIT" + }, "node_modules/cli-cursor": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", @@ -6735,6 +8692,16 @@ "node": ">=0.8" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -6755,6 +8722,16 @@ "dev": true, "license": "MIT" }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -6781,6 +8758,23 @@ "lodash.uniqby": "4.5.0" } }, + "node_modules/commander": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, "node_modules/compress-commons": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", @@ -6802,6 +8796,13 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "license": "MIT" }, + "node_modules/confbox": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz", + "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==", + "dev": true, + "license": "MIT" + }, "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -6887,6 +8888,16 @@ "node": ">= 0.6" } }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, "node_modules/content-disposition": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", @@ -6941,9 +8952,10 @@ "version": "3.48.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", + "devOptional": true, "hasInstallScript": true, "license": "MIT", - "optional": true, + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -7046,6 +9058,16 @@ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", "license": "MIT" }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, "node_modules/css-line-break": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", @@ -7073,6 +9095,18 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, "node_modules/css-what": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", @@ -7086,6 +9120,13 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, "node_modules/custom-error-instance": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/custom-error-instance/-/custom-error-instance-2.1.1.tgz", @@ -7196,6 +9237,12 @@ } } }, + "node_modules/decko": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decko/-/decko-1.2.0.tgz", + "integrity": "sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ==", + "dev": true + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -7203,6 +9250,36 @@ "dev": true, "license": "MIT" }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -7221,6 +9298,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", @@ -7239,6 +9329,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "dev": true, + "license": "MIT" + }, "node_modules/degenerator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", @@ -7264,6 +9361,23 @@ "node": ">= 0.8" } }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "dev": true, + "license": "MIT" + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -7379,8 +9493,8 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "devOptional": true, "license": "(MPL-2.0 OR Apache-2.0)", - "optional": true, "optionalDependencies": { "@types/trusted-types": "^2.0.7" } @@ -7400,6 +9514,19 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/dotenv": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", + "integrity": "sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -7765,6 +9892,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-aggregate-error": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.14.tgz", + "integrity": "sha512-3YxX6rVb07B5TV11AV5wsL7nQCHXNwoHPsQC8S4AmBiqYhyNCJ5BRKXkXyDJvs8QzXN20NgRtxe3dEEQD9NLHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "globalthis": "^1.0.4", + "has-property-descriptors": "^1.0.2", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -7845,6 +9995,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true, + "license": "MIT" + }, "node_modules/esbuild": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", @@ -8352,6 +10509,13 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -8372,6 +10536,16 @@ "node": ">= 0.6" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -8503,6 +10677,13 @@ "express": ">= 4.11" } }, + "node_modules/exsolve": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", + "dev": true, + "license": "MIT" + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -8564,6 +10745,36 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -8578,6 +10789,13 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-png": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz", @@ -8589,6 +10807,13 @@ "pako": "^2.1.0" } }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", @@ -8606,6 +10831,53 @@ ], "license": "BSD-3-Clause" }, + "node_modules/fast-xml-builder": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.4.tgz", + "integrity": "sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "path-expression-matcher": "^1.1.3" + } + }, + "node_modules/fast-xml-parser": { + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.5.6.tgz", + "integrity": "sha512-3+fdZyBRVg29n4rXP0joHthhcHdPUHaIC16cuyyd1iLsuaO6Vea36MPrxgAzbZna8lhvZeRL8Bc9GP56/J9xEw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "fast-xml-builder": "^1.1.4", + "path-expression-matcher": "^1.1.3", + "strnum": "^2.1.2" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -8779,6 +11051,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/foreach": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", + "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==", + "dev": true, + "license": "MIT" + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -9003,6 +11282,34 @@ "node": ">= 0.4" } }, + "node_modules/get-source": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz", + "integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "data-uri-to-buffer": "^2.0.0", + "source-map": "^0.6.1" + } + }, + "node_modules/get-source/node_modules/data-uri-to-buffer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz", + "integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==", + "dev": true, + "license": "MIT" + }, + "node_modules/get-source/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -9037,6 +11344,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-tsconfig": { + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, "node_modules/get-uri": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", @@ -9052,6 +11372,24 @@ "node": ">= 14" } }, + "node_modules/giget": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.6", + "nypm": "^0.6.0", + "pathe": "^2.0.3" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -9142,6 +11480,38 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -9276,6 +11646,16 @@ "node": "20 || >=22" } }, + "node_modules/hpagent": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -9387,6 +11767,13 @@ "node": ">= 14" } }, + "node_modules/http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==", + "dev": true, + "license": "MIT" + }, "node_modules/https-proxy-agent": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", @@ -9513,6 +11900,17 @@ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", "license": "MIT" }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/immutable": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", @@ -9770,6 +12168,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -9842,6 +12256,38 @@ "node": ">=0.10.0" } }, + "node_modules/is-in-ssh": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz", + "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-interactive": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", @@ -9915,6 +12361,16 @@ "dev": true, "license": "MIT" }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -10085,6 +12541,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -10240,6 +12712,16 @@ "integrity": "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==", "license": "BSD-3-Clause" }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -10259,6 +12741,17 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsep": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz", + "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 10.16.0" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -10288,6 +12781,31 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/json-pointer": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", + "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "foreach": "^2.0.4" + } + }, + "node_modules/json-schema-to-ts": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-2.7.2.tgz", + "integrity": "sha512-R1JfqKqbBR4qE8UyBR56Ms30LL62/nlhoz+1UkfI/VE7p54Awu919FZ6ZUPG8zIa3XB65usPJgr1ONVncUGSaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@types/json-schema": "^7.0.9", + "ts-algebra": "^1.2.0" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -10357,6 +12875,45 @@ ], "license": "MIT" }, + "node_modules/jsonpath-plus": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.4.0.tgz", + "integrity": "sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jsep-plugin/assignment": "^1.3.0", + "@jsep-plugin/regex": "^1.0.4", + "jsep": "^1.4.0" + }, + "bin": { + "jsonpath": "bin/jsonpath-cli.js", + "jsonpath-plus": "bin/jsonpath-cli.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/jsonpath-rfc9535": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsonpath-rfc9535/-/jsonpath-rfc9535-1.3.0.tgz", + "integrity": "sha512-3jFHya7oZ45aDxIIdx+/zQARahHXxFSMWBkcBUldfXpLS9VCXDJyTKt35kQfEXLqh0K3Ixw/9xFnvcDStaxh7Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/jspdf": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.2.0.tgz", @@ -10964,6 +13521,16 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -11493,6 +14060,13 @@ "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", "license": "MIT" }, + "node_modules/lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.union": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", @@ -11659,6 +14233,26 @@ "node": ">=8.0" } }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -11668,6 +14262,13 @@ "yallist": "^3.0.2" } }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true, + "license": "MIT" + }, "node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", @@ -11727,6 +14328,33 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/markdown-escape": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-escape/-/markdown-escape-2.0.0.tgz", + "integrity": "sha512-Trz4v0+XWlwy68LJIyw3bLbsJiC8XAbRCKF9DbEtZjyndKOGVx6n+wNB0VfoRmY2LKboQLeniap3xrb6LGSJ8A==", + "dev": true, + "license": "MIT" + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -11760,6 +14388,43 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", @@ -11986,6 +14651,70 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mobx": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.15.0.tgz", + "integrity": "sha512-UczzB+0nnwGotYSgllfARAqWCJ5e/skuV2K/l+Zyck/H6pJIhLXuBnz+6vn2i211o7DtbE78HQtsYEKICHGI+g==", + "dev": true, + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + } + }, + "node_modules/mobx-react": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-9.2.0.tgz", + "integrity": "sha512-dkGWCx+S0/1mfiuFfHRH8D9cplmwhxOV5CkXMp38u6rQGG2Pv3FWYztS0M7ncR6TyPRQKaTG/pnitInoYE9Vrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mobx-react-lite": "^4.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.9.0", + "react": "^16.8.0 || ^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/mobx-react-lite": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-4.1.1.tgz", + "integrity": "sha512-iUxiMpsvNraCKXU+yPotsOncNNmyeS2B5DKL+TL6Tar/xm+wwNJAubJmtRSeAoYawdZqwv8Z/+5nPRHeQxTiXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.4.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.9.0", + "react": "^16.8.0 || ^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, "node_modules/moment": { "version": "2.30.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", @@ -12091,6 +14820,13 @@ "node": ">= 0.6" } }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, "node_modules/netmask": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", @@ -12113,13 +14849,74 @@ "moment": "^2.19.3" } }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "node_modules/nimma": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/nimma/-/nimma-0.2.3.tgz", + "integrity": "sha512-1ZOI8J+1PKKGceo/5CT5GfQOG6H8I2BencSK06YarZ2wXwH37BSSUWldqJmMJYA5JfqDqffxDXynt6f11AyKcA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsep-plugin/regex": "^1.0.1", + "@jsep-plugin/ternary": "^1.0.2", + "astring": "^1.8.1", + "jsep": "^1.2.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + }, + "optionalDependencies": { + "jsonpath-plus": "^6.0.1 || ^10.1.0", + "lodash.topath": "^4.5.2" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "http2-client": "^1.2.5" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", "dev": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/node-gyp": { "version": "12.2.0", @@ -12198,12 +14995,74 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es6-promise": "^3.2.1" + } + }, "node_modules/node-releases": { "version": "2.0.36", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", "license": "MIT" }, + "node_modules/node-sarif-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-2.0.3.tgz", + "integrity": "sha512-Pzr3rol8fvhG/oJjIq2NTVB0vmdNNlz22FENhhPojYRZ4/ee08CfK4YuKmuL54V9MLhI1kpzxfOJ/63LzmZzDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/sarif": "^2.1.4", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/node-sarif-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/node-sarif-builder/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/node-sarif-builder/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/nodemon": { "version": "3.1.14", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.14.tgz", @@ -12389,134 +15248,381 @@ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz", "integrity": "sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==", "dev": true, - "license": "ISC", - "dependencies": { - "npm-normalize-package-bin": "^5.0.0" - }, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^5.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-install-checks": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz", + "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", + "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-package-arg": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^9.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.4.tgz", + "integrity": "sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==", + "dev": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^8.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", + "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^8.0.0", + "npm-normalize-package-bin": "^5.0.0", + "npm-package-arg": "^13.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz", + "integrity": "sha512-TakBap6OM1w0H73VZVDf44iFXsOS3h+L4wVMXmbWOQroZgFhMch0juN6XSzBNlD965yIKvWg2dfu7NSiaYLxtw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^4.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^15.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^13.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nypm": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.5.tgz", + "integrity": "sha512-K6AJy1GMVyfyMXRVB88700BJqNUkByijGJM8kEHpLdcAt+vSQAVfkWWHYzuRXHSY6xA2sNc5RjTj0p9rE2izVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "citty": "^0.2.0", + "pathe": "^2.0.3", + "tinyexec": "^1.0.2" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/nypm/node_modules/citty": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.1.tgz", + "integrity": "sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-linter/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/oas-resolver/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/oas-resolver/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/oas-resolver/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=8" } }, - "node_modules/npm-install-checks": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz", - "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==", + "node_modules/oas-resolver/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "semver": "^7.1.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", - "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=8" } }, - "node_modules/npm-package-arg": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", - "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", + "node_modules/oas-resolver/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "hosted-git-info": "^9.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=8" } }, - "node_modules/npm-packlist": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.4.tgz", - "integrity": "sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==", + "node_modules/oas-resolver/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "ignore-walk": "^8.0.0", - "proc-log": "^6.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm-packlist/node_modules/proc-log": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", - "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "node_modules/oas-resolver/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, "license": "ISC", "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">= 6" } }, - "node_modules/npm-pick-manifest": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", - "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==", + "node_modules/oas-resolver/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-install-checks": "^8.0.0", - "npm-normalize-package-bin": "^5.0.0", - "npm-package-arg": "^13.0.0", - "semver": "^7.3.5" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=12" } }, - "node_modules/npm-registry-fetch": { - "version": "19.1.1", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz", - "integrity": "sha512-TakBap6OM1w0H73VZVDf44iFXsOS3h+L4wVMXmbWOQroZgFhMch0juN6XSzBNlD965yIKvWg2dfu7NSiaYLxtw==", + "node_modules/oas-resolver/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "license": "ISC", - "dependencies": { - "@npmcli/redact": "^4.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^15.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^5.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^13.0.0", - "proc-log": "^6.0.0" - }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=12" } }, - "node_modules/npm-registry-fetch/node_modules/proc-log": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", - "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", "dev": true, - "license": "ISC", - "engines": { - "node": "^20.17.0 || >=22.9.0" + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", "dev": true, - "license": "BSD-2-Clause", + "license": "BSD-3-Clause", "dependencies": { - "boolbase": "^1.0.0" + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" }, "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" } }, "node_modules/object-assign": { @@ -12626,6 +15732,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "dev": true, + "license": "MIT" + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -12664,6 +15777,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/open/-/open-11.0.0.tgz", + "integrity": "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.4.0", + "define-lazy-prop": "^3.0.0", + "is-in-ssh": "^1.0.0", + "is-inside-container": "^1.0.0", + "powershell-utils": "^0.1.0", + "wsl-utils": "^0.3.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-sampler": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.7.2.tgz", + "integrity": "sha512-OKytvqB5XIaTgA9xtw8W8UTar+uymW2xPVpFN0NihMtuHPdPTGxBEhGnfFnJW5g/gOSIvkP+H0Xh3XhVI9/n7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.7", + "fast-xml-parser": "^5.5.1", + "json-pointer": "0.6.2" + } + }, "node_modules/opentracing": { "version": "0.14.7", "resolved": "https://registry.npmjs.org/opentracing/-/opentracing-0.14.7.tgz", @@ -12736,6 +15882,13 @@ "license": "MIT", "optional": true }, + "node_modules/outdent": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", + "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==", + "dev": true, + "license": "MIT" + }, "node_modules/own-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", @@ -13001,6 +16154,13 @@ "node": ">= 0.8" } }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -13011,6 +16171,22 @@ "node": ">=8" } }, + "node_modules/path-expression-matcher": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.1.3.tgz", + "integrity": "sha512-qdVgY8KXmVdJZRSS1JdEPOKPdTiEK/pi0RkcT2sw1RhXxohdujUlJFPuS1TSkevZ9vzd3ZlL7ULl1MHGTApKzQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -13075,6 +16251,13 @@ "url": "https://opencollective.com/express" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, "node_modules/pdfkit": { "version": "0.17.2", "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.17.2.tgz", @@ -13109,6 +16292,20 @@ "dev": true, "license": "MIT" }, + "node_modules/perfect-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz", + "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-scrollbar": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.6.tgz", + "integrity": "sha512-rixgxw3SxyJbCaSpo1n35A/fwI1r2rdwMKOTCg/AcG+xOEyZcE8UHVjpZMFCVImzsFoCZeJTT+M/rdEIQYO2nw==", + "dev": true, + "license": "MIT" + }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -13157,11 +16354,56 @@ "node": ">=16.20.0" } }, + "node_modules/pkg-types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", + "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/png-js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" }, + "node_modules/polished": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", + "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.17.8" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pony-cause": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-1.1.1.tgz", + "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==", + "dev": true, + "license": "0BSD", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -13207,6 +16449,26 @@ "dev": true, "license": "MIT" }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/powershell-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz", + "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -13247,6 +16509,23 @@ "node": ">=6.0.0" } }, + "node_modules/printable-characters": { + "version": "1.0.42", + "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", + "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/proc-log": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", @@ -13297,6 +16576,18 @@ "node": ">= 4" } }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, "node_modules/proper-lockfile": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", @@ -13323,6 +16614,31 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC" }, + "node_modules/protobufjs": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", + "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "dev": true, + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -13472,6 +16788,27 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "license": "MIT" }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", @@ -13482,6 +16819,16 @@ "performance-now": "^2.1.0" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -13508,6 +16855,63 @@ "node": ">= 0.10" } }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-tabs": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-6.1.0.tgz", + "integrity": "sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "clsx": "^2.0.0", + "prop-types": "^15.5.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -13552,6 +16956,143 @@ "node": ">=10" } }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/redoc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/redoc/-/redoc-2.5.1.tgz", + "integrity": "sha512-LmqA+4A3CmhTllGG197F0arUpmChukAj9klfSdxNRemT9Hr07xXr7OGKu4PHzBs359sgrJ+4JwmOlM7nxLPGMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@redocly/openapi-core": "^1.4.0", + "classnames": "^2.3.2", + "decko": "^1.2.0", + "dompurify": "^3.2.4", + "eventemitter3": "^5.0.1", + "json-pointer": "^0.6.2", + "lunr": "^2.3.9", + "mark.js": "^8.11.1", + "marked": "^4.3.0", + "mobx-react": "9.2.0", + "openapi-sampler": "^1.5.0", + "path-browserify": "^1.0.1", + "perfect-scrollbar": "^1.5.5", + "polished": "^4.2.2", + "prismjs": "^1.29.0", + "prop-types": "^15.8.1", + "react-tabs": "^6.0.2", + "slugify": "~1.4.7", + "stickyfill": "^1.1.1", + "swagger2openapi": "^7.0.8", + "url-template": "^2.0.8" + }, + "engines": { + "node": ">=6.9", + "npm": ">=3.0.0" + }, + "peerDependencies": { + "core-js": "^3.1.4", + "mobx": "^6.0.4", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "styled-components": "^4.1.1 || ^5.1.1 || ^6.0.5" + } + }, + "node_modules/redoc/node_modules/@redocly/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js-replace": "^1.0.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/redoc/node_modules/@redocly/config": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.0.tgz", + "integrity": "sha512-gAy93Ddo01Z3bHuVdPWfCwzgfaYgMdaZPcfL7JZ7hWJoK9V0lXDbigTWkhiPFAaLWzbOJ+kbUQG1+XwIm0KRGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/redoc/node_modules/@redocly/openapi-core": { + "version": "1.34.11", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.11.tgz", + "integrity": "sha512-V09ayfnb5GyysmvARbt+voFZAjGcf7hSYxOYxSkCc4fbH/DTfq5YWoec8cflvmHHqyIFbqvmGKmYFzqhr9zxDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@redocly/ajv": "8.11.2", + "@redocly/config": "0.22.0", + "colorette": "1.4.0", + "https-proxy-agent": "7.0.6", + "js-levenshtein": "1.1.6", + "js-yaml": "4.1.1", + "minimatch": "5.1.9", + "pluralize": "8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=18.17.0", + "npm": ">=9.5.0" + } + }, + "node_modules/redoc/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/redoc/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/redoc/node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/redoc/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/reflect-metadata": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", @@ -13581,6 +17122,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "dev": true, + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, "node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", @@ -13635,6 +17186,15 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "license": "MIT" }, + "node_modules/reserved": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/reserved/-/reserved-0.1.2.tgz", + "integrity": "sha512-/qO54MWj5L8WCBP9/UNe2iefJc+L9yETbH32xO/ft/EYPOTCR5k+azvDUgdCOKwZH8hXwPd0b8XBL78Nn2U69g==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, "node_modules/resolve": { "version": "1.22.11", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", @@ -13666,6 +17226,16 @@ "node": ">=4" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/restore-cursor": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", @@ -13699,6 +17269,17 @@ "node": ">= 4" } }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", @@ -13795,6 +17376,43 @@ "node": ">= 18" } }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/rxjs": { "version": "7.8.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", @@ -13880,6 +17498,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==", + "dev": true, + "license": "MIT" + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -13893,6 +17518,7 @@ "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -13908,36 +17534,6 @@ "@parcel/watcher": "^2.4.1" } }, - "node_modules/sass/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/sass/node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/sax": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz", @@ -13959,6 +17555,13 @@ "node": ">=10" } }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "dev": true, + "license": "MIT" + }, "node_modules/semver": { "version": "7.7.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", @@ -14018,6 +17621,13 @@ "url": "https://opencollective.com/express" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "dev": true, + "license": "MIT" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -14080,29 +17690,96 @@ "dev": true, "license": "ISC" }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", "dev": true, "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" } }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "dev": true, + "license": "MIT" + }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -14210,6 +17887,19 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/simple-eval": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-eval/-/simple-eval-1.0.1.tgz", + "integrity": "sha512-LH7FpTAkeD+y5xQC4fzS+tFtaNlvt3Ib1zKzvhjv/Y+cioV4zIuw4IZr2yhRLu67CWL7FR9/6KXKnjRoZTvGGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsep": "^1.3.6" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/simple-update-notifier": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", @@ -14223,6 +17913,56 @@ "node": ">=10" } }, + "node_modules/simple-websocket": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/simple-websocket/-/simple-websocket-9.1.0.tgz", + "integrity": "sha512-8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "debug": "^4.3.1", + "queue-microtask": "^1.2.2", + "randombytes": "^2.1.0", + "readable-stream": "^3.6.0", + "ws": "^7.4.2" + } + }, + "node_modules/simple-websocket/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/slice-ansi": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", @@ -14253,6 +17993,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/slugify": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.7.tgz", + "integrity": "sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -14447,6 +18197,14 @@ "node": ">=0.10.0" } }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true, + "license": "MIT" + }, "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", @@ -14495,6 +18253,17 @@ "node": ">=0.1.14" } }, + "node_modules/stacktracey": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.2.0.tgz", + "integrity": "sha512-ETyQEz+CzXiLjEbyJqpbp+/T79RQD/6wqFucRBIlVNZfYq2Ay7wbretD4cxpbymZlaPWx58aIhPEY1Cr8DlVvg==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "as-table": "^1.0.36", + "get-source": "^2.0.12" + } + }, "node_modules/statuses": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", @@ -14518,6 +18287,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/stickyfill": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz", + "integrity": "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==", + "dev": true + }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", @@ -14579,27 +18354,212 @@ "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.1.tgz", + "integrity": "sha512-BwRvNd5/QoAtyW1na1y1LsJGQNvRlkde6Q/ipqqEaivoMdV+B1OMOTVdwR+N/cwVUcIt9PYyHmV8HyexCZSupg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/styled-components": { + "version": "6.3.9", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.3.9.tgz", + "integrity": "sha512-J72R4ltw0UBVUlEjTzI0gg2STOqlI9JBhQOL4Dxt7aJOnnSesy0qJDn4PYfMCafk9cWOaVg129Pesl5o+DIh0Q==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@emotion/is-prop-valid": "1.4.0", + "@emotion/unitless": "0.10.0", + "@types/stylis": "4.2.7", + "css-to-react-native": "3.2.0", + "csstype": "3.2.3", + "postcss": "8.4.49", + "shallowequal": "1.1.0", + "stylis": "4.3.6", + "tslib": "2.8.1" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/styled-components/node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/stylis": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, "engines": { "node": ">= 0.4" }, @@ -14607,115 +18567,169 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, + "optional": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12.0.0" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "node_modules/swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" }, - "engines": { - "node": ">= 0.4" + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "node_modules/swagger2openapi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/swagger2openapi/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", "dependencies": { - "ansi-regex": "^6.2.2" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/strip-bom": { + "node_modules/swagger2openapi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/swagger2openapi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/swagger2openapi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/swagger2openapi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/swagger2openapi/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/svg-pathdata": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", - "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "node_modules/swagger2openapi/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/swagger2openapi/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, "license": "MIT", - "optional": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, "engines": { - "node": ">=12.0.0" + "node": ">=12" + } + }, + "node_modules/swagger2openapi/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" } }, "node_modules/synckit": { @@ -14854,12 +18868,29 @@ "utrie": "^1.0.2" } }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, "node_modules/tiny-inflate": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", "license": "MIT" }, + "node_modules/tinyexec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.4.tgz", + "integrity": "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tinyglobby": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", @@ -14928,6 +18959,13 @@ "nodetouch": "bin/nodetouch.js" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, "node_modules/traverse": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", @@ -14937,6 +18975,13 @@ "node": "*" } }, + "node_modules/ts-algebra": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-1.2.2.tgz", + "integrity": "sha512-kloPhf1hq3JbCPOTYoOWDKxebWjNb2o/LKnNfkWhxVVisFFmMJPPdJeGoGmM+iRLyoXAR61e08Pb+vUXINg8aA==", + "dev": true, + "license": "MIT" + }, "node_modules/ts-api-utils": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", @@ -15168,6 +19213,30 @@ "node": "*" } }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ulid": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-3.0.2.tgz", + "integrity": "sha512-yu26mwteFYzBAot7KVMqFGCVpsF6g8wXfJzQUHvu1no3+rRRSFcSV2nKeYvNPLD2J4b08jYBDhHUjeH0ygIl9w==", + "dev": true, + "license": "MIT", + "bin": { + "ulid": "dist/cli.js" + } + }, "node_modules/unbox-primitive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", @@ -15194,6 +19263,16 @@ "dev": true, "license": "MIT" }, + "node_modules/undici": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.24.1.tgz", + "integrity": "sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, "node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", @@ -15387,6 +19466,13 @@ "punycode": "^2.1.0" } }, + "node_modules/uri-js-replace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz", + "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==", + "dev": true, + "license": "MIT" + }, "node_modules/uri-js/node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -15397,6 +19483,13 @@ "node": ">=6" } }, + "node_modules/urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==", + "dev": true, + "license": "MIT" + }, "node_modules/url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -15407,12 +19500,39 @@ "requires-port": "^1.0.0" } }, + "node_modules/url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==", + "dev": true, + "license": "BSD" + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -15594,6 +19714,24 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -15715,6 +19853,13 @@ "integrity": "sha512-Lu4nHBSKkU0FCoc0LlQvTzN+m2+prNgVlI3sX6cy7k0K6cLK3UmfD22JgaeevXgthSTaf6xoWK8vYkyKqDZm3Q==", "license": "Creative Commons Attribution (CC BY)" }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -15813,6 +19958,23 @@ } } }, + "node_modules/wsl-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.3.1.tgz", + "integrity": "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0", + "powershell-utils": "^0.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", @@ -15846,6 +20008,13 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "license": "ISC" }, + "node_modules/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/yargs": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", diff --git a/package.json b/package.json index 1659e8fdc..d0b547809 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,12 @@ "build:ci": "ng build --configuration production", "format": "npx prettier 'src/**/*.{js,jsx,ts,tsx,html,css,scss}' --write", "lint": "ng lint", - "clean": "rm -rf package-lock.json npm-shrinkwrap.json node_modules;npm cache clean --force;npm cache verify" + "check-types": "tsc --noEmit", + "clean": "rm -rf package-lock.json npm-shrinkwrap.json node_modules;npm cache clean --force;npm cache verify", + "fetch:openapi": "curl -s -o openapi.json http://localhost:8080/api/v2/openapi-compliant.json", + "generate:api": "openapi-ts -f openapi-ts.config.mjs", + "generate": "npm run fetch:openapi && npm run generate:api", + "lint:openapi": "redocly lint openapi.json && spectral lint -D openapi.json" }, "private": true, "dependencies": { @@ -71,6 +76,9 @@ "@eslint/compat": "^2.0.2", "@eslint/eslintrc": "^3.3.4", "@eslint/js": "^9.39.3", + "@hey-api/openapi-ts": "^0.94.2", + "@redocly/cli": "^2.24.0", + "@stoplight/spectral-cli": "^6.15.0", "@trivago/prettier-plugin-sort-imports": "^4.2.1", "@types/jasmine": "~4.3.5", "@types/node": "^20.5.0", diff --git a/src/app/account/settings/acc-settings/acc-settings.component.ts b/src/app/account/settings/acc-settings/acc-settings.component.ts index 3a1b5ea5a..d5b8cead3 100644 --- a/src/app/account/settings/acc-settings/acc-settings.component.ts +++ b/src/app/account/settings/acc-settings/acc-settings.component.ts @@ -12,8 +12,8 @@ import { Router } from '@angular/router'; import { SERV } from '@services/main.config'; import { changeOwnPasswordResponseSchema } from '@src/app/account/settings/acc-settings/acc-settings.schema'; -import { JUserSchema } from '@src/app/core/_models/user.schema'; import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; +import { zUserResponse } from '@src/generated/api/zod.gen'; import { passwordMatchValidator } from '@src/app/core/_validators/password.validator'; export interface UpdateUserPassword { @@ -222,15 +222,13 @@ export class AccountSettingsComponent implements OnInit, OnDestroy { private loadUserSettings() { this.subscriptions.push( this.gs.ghelper(SERV.HELPER, 'currentUser').subscribe((response) => { - const user = new JsonAPISerializer().deserialize( - { data: response.data, included: response.included }, - JUserSchema - ); + const users = new JsonAPISerializer().deserialize(response, zUserResponse); + const user = users[0]; this.form.patchValue({ - name: user.name, - registeredSince: this.datePipe.transform(user.registeredSince), - email: user.email + name: user?.name, + registeredSince: this.datePipe.transform(Number(user?.registeredSince)), + email: user?.email }); }) ); diff --git a/src/app/core/_models/json-api.types.ts b/src/app/core/_models/json-api.types.ts new file mode 100644 index 000000000..9f482f608 --- /dev/null +++ b/src/app/core/_models/json-api.types.ts @@ -0,0 +1,84 @@ +import { z } from 'zod'; + +// ── Helpers ────────────────────────────────────────────────────── + +/** + * Make optional `data` required so conditional type matching works. + * Guard: only activates when T actually has a `data` key + * (preserves backward compat for flat schemas). + */ +type NormalizeEnvelope = 'data' extends keyof T + ? T extends { data?: infer D } + ? Omit & { data: NonNullable } + : T + : T; + +/** + * Flatten a JSON:API resource object: merge attributes into the root, + * strip the `attributes` and `relationships` wrappers. + * + * { id, type, attributes: { name } } → { id, type, name } + */ +type FlattenItem = D extends { attributes?: infer A } + ? Omit & NonNullable + : D; + +/** + * Extract and flatten the included resource type from an envelope. + */ +type ExtractIncluded = 'included' extends keyof T + ? T extends { included?: (infer I)[] } + ? FlattenItem + : unknown + : unknown; + +/** + * Extract relationship key names from a type that has a `relationships` property. + */ +type ExtractRelKeys = 'relationships' extends keyof T + ? T extends { relationships?: infer R } + ? keyof NonNullable + : never + : never; + +/** + * Collect relationship keys from both the data item (correct JSON:API) + * and the response level (current backend spec) so types work + * before and after the backend fix. + */ +type AllRelKeys = + | ExtractRelKeys + | ExtractRelKeys; + +/** + * Map relationship keys to their resolved included types. + * Jsona can produce: single object, array, or null. + */ +type RelationshipMap = + [Keys] extends [never] + ? {} + : { [K in Keys]?: TIncluded | TIncluded[] | null }; + +// ── Main types ─────────────────────────────────────────────────── + +type JsonApiPayloadInner = T extends { data: (infer D)[] } + ? (FlattenItem & RelationshipMap, ExtractIncluded>)[] + : T extends { data: infer D } + ? FlattenItem & RelationshipMap, ExtractIncluded> + : T; + +/** + * Transform a JSON:API envelope type into the flat model type + * that jsona's `deserialize()` produces at runtime. + * + * Handles: optional data/attributes, relationships from included, + * both array and single-object data. + */ +export type JsonApiPayload = JsonApiPayloadInner>; + +/** + * Shorthand: extract JsonApiPayload directly from a Zod envelope schema. + */ +export type JsonApiPayloadOf = JsonApiPayload< + z.infer +>; diff --git a/src/app/core/_services/api/serializer-service.ts b/src/app/core/_services/api/serializer-service.ts index 775d307ef..d8676a43d 100644 --- a/src/app/core/_services/api/serializer-service.ts +++ b/src/app/core/_services/api/serializer-service.ts @@ -16,6 +16,8 @@ import { z } from 'zod'; import { Injectable } from '@angular/core'; +import { JsonApiPayload } from '@models/json-api.types'; + /** Class for serializing/deserializing objects to and from JSON:API format * @class JsonAPISerializer * */ @@ -47,21 +49,22 @@ export class JsonAPISerializer { /** * Deserialize a JSON:API response body into a typed model. * - * @overload Pass a Zod schema to validate and type the result: - * `deserialize(body, MySchema)` → returns `z.infer` + * @overload Pass a Zod envelope schema to validate the raw body pre-deserialization + * and auto-infer the flat return type via JsonApiPayload: + * `deserialize(body, zUserSingleResponse)` → returns `JsonApiPayload<...>` * * @overload Omit the schema to get an unvalidated result: * `deserialize(body)` → returns `MyType` * * @param body Response body received by an API call - * @param schema Zod schema to validate and type the result (first overload) + * @param schema Zod envelope schema to validate the raw JSON:API body (first overload) * @param options Optional deserializer options */ deserialize( body: TJsonApiBody, schema: TSchema, options?: TDeserializeOptions - ): z.infer; + ): JsonApiPayload>; deserialize(body: TJsonApiBody, options?: TDeserializeOptions): T; deserialize( body: TJsonApiBody, @@ -69,13 +72,12 @@ export class JsonAPISerializer { options?: TDeserializeOptions ): T { if (schemaOrOptions instanceof z.ZodType) { - const result = this.formatter.deserialize(body, options); - const parseResult = schemaOrOptions.safeParse(result); + const parseResult = schemaOrOptions.safeParse(body); if (!parseResult.success) { console.error('API response validation failed', parseResult.error); throw parseResult.error; } - return parseResult.data as T; + return this.formatter.deserialize(body, options) as T; } return this.formatter.deserialize(body, schemaOrOptions) as T; } diff --git a/src/generated/api/index.ts b/src/generated/api/index.ts new file mode 100644 index 000000000..a4f18ad5b --- /dev/null +++ b/src/generated/api/index.ts @@ -0,0 +1,3 @@ +// This file is auto-generated by @hey-api/openapi-ts + +export type { AbortChunkHelperApi, AbortChunkHelperApiResponse, AccessGroupCreate, AccessGroupPatch, AccessGroupPostPatchResponse, AccessGroupRelationAgentMembers, AccessGroupRelationAgentMembersGetResponse, AccessGroupResponse, AgentBinaryCreate, AgentBinaryPatch, AgentBinaryPostPatchResponse, AgentBinaryResponse, AgentErrorRelationTask, AgentErrorRelationTaskGetResponse, AgentErrorResponse, AgentPatch, AgentPostPatchResponse, AgentRelationAssignments, AgentRelationAssignmentsGetResponse, AgentResponse, AgentStatResponse, AssignAgentHelperApi, AssignAgentHelperApiResponse, AssignmentCreate, AssignmentPatch, AssignmentPostPatchResponse, AssignmentRelationTask, AssignmentRelationTaskGetResponse, AssignmentResponse, BulkSupertaskBuilderHelperApi, ChangeOwnPasswordHelperApi, ChangeOwnPasswordHelperApiResponse, ChunkRelationTask, ChunkRelationTaskGetResponse, ChunkResponse, ClientOptions, ConfigPatch, ConfigPostPatchResponse, ConfigRelationConfigSection, ConfigRelationConfigSectionGetResponse, ConfigResponse, ConfigSectionResponse, CrackerBinaryCreate, CrackerBinaryPatch, CrackerBinaryPostPatchResponse, CrackerBinaryRelationTasks, CrackerBinaryRelationTasksGetResponse, CrackerBinaryResponse, CrackerBinaryTypeCreate, CrackerBinaryTypePatch, CrackerBinaryTypePostPatchResponse, CrackerBinaryTypeRelationTasks, CrackerBinaryTypeRelationTasksGetResponse, CrackerBinaryTypeResponse, CreateSuperHashlistHelperApi, CreateSupertaskHelperApi, DeleteAccessgroupsByIdData, DeleteAccessgroupsByIdError, DeleteAccessgroupsByIdErrors, DeleteAccessgroupsByIdRelationshipsByRelationData, DeleteAccessgroupsByIdRelationshipsByRelationError, DeleteAccessgroupsByIdRelationshipsByRelationErrors, DeleteAccessgroupsByIdRelationshipsByRelationResponse, DeleteAccessgroupsByIdRelationshipsByRelationResponses, DeleteAccessgroupsByIdResponse, DeleteAccessgroupsByIdResponses, DeleteAccessgroupsData, DeleteAccessgroupsError, DeleteAccessgroupsErrors, DeleteAccessgroupsResponses, DeleteAgentassignmentsByIdData, DeleteAgentassignmentsByIdError, DeleteAgentassignmentsByIdErrors, DeleteAgentassignmentsByIdResponse, DeleteAgentassignmentsByIdResponses, DeleteAgentassignmentsData, DeleteAgentassignmentsError, DeleteAgentassignmentsErrors, DeleteAgentassignmentsResponses, DeleteAgentbinariesByIdData, DeleteAgentbinariesByIdError, DeleteAgentbinariesByIdErrors, DeleteAgentbinariesByIdResponse, DeleteAgentbinariesByIdResponses, DeleteAgentbinariesData, DeleteAgentbinariesError, DeleteAgentbinariesErrors, DeleteAgentbinariesResponses, DeleteAgenterrorsByIdData, DeleteAgenterrorsByIdError, DeleteAgenterrorsByIdErrors, DeleteAgenterrorsByIdResponse, DeleteAgenterrorsByIdResponses, DeleteAgenterrorsData, DeleteAgenterrorsError, DeleteAgenterrorsErrors, DeleteAgenterrorsResponses, DeleteAgentsByIdData, DeleteAgentsByIdError, DeleteAgentsByIdErrors, DeleteAgentsByIdRelationshipsByRelationData, DeleteAgentsByIdRelationshipsByRelationError, DeleteAgentsByIdRelationshipsByRelationErrors, DeleteAgentsByIdRelationshipsByRelationResponse, DeleteAgentsByIdRelationshipsByRelationResponses, DeleteAgentsByIdResponse, DeleteAgentsByIdResponses, DeleteAgentsData, DeleteAgentsError, DeleteAgentsErrors, DeleteAgentsResponses, DeleteAgentstatsByIdData, DeleteAgentstatsByIdError, DeleteAgentstatsByIdErrors, DeleteAgentstatsByIdResponse, DeleteAgentstatsByIdResponses, DeleteAgentstatsData, DeleteAgentstatsError, DeleteAgentstatsErrors, DeleteAgentstatsResponses, DeleteApiTokensByIdData, DeleteApiTokensByIdError, DeleteApiTokensByIdErrors, DeleteApiTokensByIdResponse, DeleteApiTokensByIdResponses, DeleteApiTokensData, DeleteApiTokensError, DeleteApiTokensErrors, DeleteApiTokensResponses, DeleteCrackersByIdData, DeleteCrackersByIdError, DeleteCrackersByIdErrors, DeleteCrackersByIdRelationshipsByRelationData, DeleteCrackersByIdRelationshipsByRelationError, DeleteCrackersByIdRelationshipsByRelationErrors, DeleteCrackersByIdRelationshipsByRelationResponse, DeleteCrackersByIdRelationshipsByRelationResponses, DeleteCrackersByIdResponse, DeleteCrackersByIdResponses, DeleteCrackersData, DeleteCrackersError, DeleteCrackersErrors, DeleteCrackersResponses, DeleteCrackertypesByIdData, DeleteCrackertypesByIdError, DeleteCrackertypesByIdErrors, DeleteCrackertypesByIdRelationshipsByRelationData, DeleteCrackertypesByIdRelationshipsByRelationError, DeleteCrackertypesByIdRelationshipsByRelationErrors, DeleteCrackertypesByIdRelationshipsByRelationResponse, DeleteCrackertypesByIdRelationshipsByRelationResponses, DeleteCrackertypesByIdResponse, DeleteCrackertypesByIdResponses, DeleteCrackertypesData, DeleteCrackertypesError, DeleteCrackertypesErrors, DeleteCrackertypesResponses, DeleteFilesByIdData, DeleteFilesByIdError, DeleteFilesByIdErrors, DeleteFilesByIdResponse, DeleteFilesByIdResponses, DeleteFilesData, DeleteFilesError, DeleteFilesErrors, DeleteFilesResponses, DeleteGlobalpermissiongroupsByIdData, DeleteGlobalpermissiongroupsByIdError, DeleteGlobalpermissiongroupsByIdErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses, DeleteGlobalpermissiongroupsByIdResponse, DeleteGlobalpermissiongroupsByIdResponses, DeleteGlobalpermissiongroupsData, DeleteGlobalpermissiongroupsError, DeleteGlobalpermissiongroupsErrors, DeleteGlobalpermissiongroupsResponses, DeleteHashlistsByIdData, DeleteHashlistsByIdError, DeleteHashlistsByIdErrors, DeleteHashlistsByIdRelationshipsByRelationData, DeleteHashlistsByIdRelationshipsByRelationError, DeleteHashlistsByIdRelationshipsByRelationErrors, DeleteHashlistsByIdRelationshipsByRelationResponse, DeleteHashlistsByIdRelationshipsByRelationResponses, DeleteHashlistsByIdResponse, DeleteHashlistsByIdResponses, DeleteHashlistsData, DeleteHashlistsError, DeleteHashlistsErrors, DeleteHashlistsResponses, DeleteHashtypesByIdData, DeleteHashtypesByIdError, DeleteHashtypesByIdErrors, DeleteHashtypesByIdResponse, DeleteHashtypesByIdResponses, DeleteHashtypesData, DeleteHashtypesError, DeleteHashtypesErrors, DeleteHashtypesResponses, DeleteHealthchecksByIdData, DeleteHealthchecksByIdError, DeleteHealthchecksByIdErrors, DeleteHealthchecksByIdRelationshipsByRelationData, DeleteHealthchecksByIdRelationshipsByRelationError, DeleteHealthchecksByIdRelationshipsByRelationErrors, DeleteHealthchecksByIdRelationshipsByRelationResponse, DeleteHealthchecksByIdRelationshipsByRelationResponses, DeleteHealthchecksByIdResponse, DeleteHealthchecksByIdResponses, DeleteHealthchecksData, DeleteHealthchecksError, DeleteHealthchecksErrors, DeleteHealthchecksResponses, DeleteImportFileById09aF32Data, DeleteImportFileById09aF32Responses, DeleteLogentriesByIdData, DeleteLogentriesByIdError, DeleteLogentriesByIdErrors, DeleteLogentriesByIdResponse, DeleteLogentriesByIdResponses, DeleteLogentriesData, DeleteLogentriesError, DeleteLogentriesErrors, DeleteLogentriesResponses, DeleteNotificationsByIdData, DeleteNotificationsByIdError, DeleteNotificationsByIdErrors, DeleteNotificationsByIdResponse, DeleteNotificationsByIdResponses, DeleteNotificationsData, DeleteNotificationsError, DeleteNotificationsErrors, DeleteNotificationsResponses, DeletePreprocessorsByIdData, DeletePreprocessorsByIdError, DeletePreprocessorsByIdErrors, DeletePreprocessorsByIdResponse, DeletePreprocessorsByIdResponses, DeletePreprocessorsData, DeletePreprocessorsError, DeletePreprocessorsErrors, DeletePreprocessorsResponses, DeletePretasksByIdData, DeletePretasksByIdError, DeletePretasksByIdErrors, DeletePretasksByIdRelationshipsByRelationData, DeletePretasksByIdRelationshipsByRelationError, DeletePretasksByIdRelationshipsByRelationErrors, DeletePretasksByIdRelationshipsByRelationResponse, DeletePretasksByIdRelationshipsByRelationResponses, DeletePretasksByIdResponse, DeletePretasksByIdResponses, DeletePretasksData, DeletePretasksError, DeletePretasksErrors, DeletePretasksResponses, DeleteSupertasksByIdData, DeleteSupertasksByIdError, DeleteSupertasksByIdErrors, DeleteSupertasksByIdRelationshipsByRelationData, DeleteSupertasksByIdRelationshipsByRelationError, DeleteSupertasksByIdRelationshipsByRelationErrors, DeleteSupertasksByIdRelationshipsByRelationResponse, DeleteSupertasksByIdRelationshipsByRelationResponses, DeleteSupertasksByIdResponse, DeleteSupertasksByIdResponses, DeleteSupertasksData, DeleteSupertasksError, DeleteSupertasksErrors, DeleteSupertasksResponses, DeleteTasksByIdData, DeleteTasksByIdError, DeleteTasksByIdErrors, DeleteTasksByIdRelationshipsByRelationData, DeleteTasksByIdRelationshipsByRelationError, DeleteTasksByIdRelationshipsByRelationErrors, DeleteTasksByIdRelationshipsByRelationResponse, DeleteTasksByIdRelationshipsByRelationResponses, DeleteTasksByIdResponse, DeleteTasksByIdResponses, DeleteTasksData, DeleteTasksError, DeleteTasksErrors, DeleteTasksResponses, DeleteTaskwrappersByIdData, DeleteTaskwrappersByIdError, DeleteTaskwrappersByIdErrors, DeleteTaskwrappersByIdRelationshipsByRelationData, DeleteTaskwrappersByIdRelationshipsByRelationError, DeleteTaskwrappersByIdRelationshipsByRelationErrors, DeleteTaskwrappersByIdRelationshipsByRelationResponse, DeleteTaskwrappersByIdRelationshipsByRelationResponses, DeleteTaskwrappersByIdResponse, DeleteTaskwrappersByIdResponses, DeleteTaskwrappersData, DeleteTaskwrappersError, DeleteTaskwrappersErrors, DeleteTaskwrappersResponses, DeleteUsersByIdData, DeleteUsersByIdError, DeleteUsersByIdErrors, DeleteUsersByIdRelationshipsByRelationData, DeleteUsersByIdRelationshipsByRelationError, DeleteUsersByIdRelationshipsByRelationErrors, DeleteUsersByIdRelationshipsByRelationResponse, DeleteUsersByIdRelationshipsByRelationResponses, DeleteUsersByIdResponse, DeleteUsersByIdResponses, DeleteUsersData, DeleteUsersError, DeleteUsersErrors, DeleteUsersResponses, DeleteVouchersByIdData, DeleteVouchersByIdError, DeleteVouchersByIdErrors, DeleteVouchersByIdResponse, DeleteVouchersByIdResponses, DeleteVouchersData, DeleteVouchersError, DeleteVouchersErrors, DeleteVouchersResponses, ErrorResponse, ExportCrackedHashesHelperApi, ExportLeftHashesHelperApi, ExportWordlistHelperApi, FileCreate, FilePatch, FilePostPatchResponse, FileRelationAccessGroup, FileRelationAccessGroupGetResponse, FileResponse, FileSingleResponse, GetAccessgroupsByIdByRelationData, GetAccessgroupsByIdByRelationError, GetAccessgroupsByIdByRelationErrors, GetAccessgroupsByIdByRelationResponse, GetAccessgroupsByIdByRelationResponses, GetAccessgroupsByIdData, GetAccessgroupsByIdError, GetAccessgroupsByIdErrors, GetAccessgroupsByIdRelationshipsByRelationData, GetAccessgroupsByIdRelationshipsByRelationError, GetAccessgroupsByIdRelationshipsByRelationErrors, GetAccessgroupsByIdRelationshipsByRelationResponse, GetAccessgroupsByIdRelationshipsByRelationResponses, GetAccessgroupsByIdResponse, GetAccessgroupsByIdResponses, GetAccessgroupsCountData, GetAccessgroupsCountError, GetAccessgroupsCountErrors, GetAccessgroupsCountResponse, GetAccessgroupsCountResponses, GetAccessgroupsData, GetAccessgroupsError, GetAccessgroupsErrors, GetAccessgroupsResponse, GetAccessgroupsResponses, GetAgentassignmentsByIdByRelationData, GetAgentassignmentsByIdByRelationError, GetAgentassignmentsByIdByRelationErrors, GetAgentassignmentsByIdByRelationResponse, GetAgentassignmentsByIdByRelationResponses, GetAgentassignmentsByIdData, GetAgentassignmentsByIdError, GetAgentassignmentsByIdErrors, GetAgentassignmentsByIdRelationshipsByRelationData, GetAgentassignmentsByIdRelationshipsByRelationError, GetAgentassignmentsByIdRelationshipsByRelationErrors, GetAgentassignmentsByIdRelationshipsByRelationResponse, GetAgentassignmentsByIdRelationshipsByRelationResponses, GetAgentassignmentsByIdResponse, GetAgentassignmentsByIdResponses, GetAgentassignmentsCountData, GetAgentassignmentsCountError, GetAgentassignmentsCountErrors, GetAgentassignmentsCountResponse, GetAgentassignmentsCountResponses, GetAgentassignmentsData, GetAgentassignmentsError, GetAgentassignmentsErrors, GetAgentassignmentsResponse, GetAgentassignmentsResponses, GetAgentbinariesByIdData, GetAgentbinariesByIdError, GetAgentbinariesByIdErrors, GetAgentbinariesByIdResponse, GetAgentbinariesByIdResponses, GetAgentbinariesCountData, GetAgentbinariesCountError, GetAgentbinariesCountErrors, GetAgentbinariesCountResponse, GetAgentbinariesCountResponses, GetAgentbinariesData, GetAgentbinariesError, GetAgentbinariesErrors, GetAgentbinariesResponse, GetAgentbinariesResponses, GetAgenterrorsByIdByRelationData, GetAgenterrorsByIdByRelationError, GetAgenterrorsByIdByRelationErrors, GetAgenterrorsByIdByRelationResponse, GetAgenterrorsByIdByRelationResponses, GetAgenterrorsByIdData, GetAgenterrorsByIdError, GetAgenterrorsByIdErrors, GetAgenterrorsByIdRelationshipsByRelationData, GetAgenterrorsByIdRelationshipsByRelationError, GetAgenterrorsByIdRelationshipsByRelationErrors, GetAgenterrorsByIdRelationshipsByRelationResponse, GetAgenterrorsByIdRelationshipsByRelationResponses, GetAgenterrorsByIdResponse, GetAgenterrorsByIdResponses, GetAgenterrorsCountData, GetAgenterrorsCountError, GetAgenterrorsCountErrors, GetAgenterrorsCountResponse, GetAgenterrorsCountResponses, GetAgenterrorsData, GetAgenterrorsError, GetAgenterrorsErrors, GetAgenterrorsResponse, GetAgenterrorsResponses, GetAgentsByIdByRelationData, GetAgentsByIdByRelationError, GetAgentsByIdByRelationErrors, GetAgentsByIdByRelationResponse, GetAgentsByIdByRelationResponses, GetAgentsByIdData, GetAgentsByIdError, GetAgentsByIdErrors, GetAgentsByIdRelationshipsByRelationData, GetAgentsByIdRelationshipsByRelationError, GetAgentsByIdRelationshipsByRelationErrors, GetAgentsByIdRelationshipsByRelationResponse, GetAgentsByIdRelationshipsByRelationResponses, GetAgentsByIdResponse, GetAgentsByIdResponses, GetAgentsCountData, GetAgentsCountError, GetAgentsCountErrors, GetAgentsCountResponse, GetAgentsCountResponses, GetAgentsData, GetAgentsError, GetAgentsErrors, GetAgentsResponse, GetAgentsResponses, GetAgentstatsByIdData, GetAgentstatsByIdError, GetAgentstatsByIdErrors, GetAgentstatsByIdResponse, GetAgentstatsByIdResponses, GetAgentstatsCountData, GetAgentstatsCountError, GetAgentstatsCountErrors, GetAgentstatsCountResponse, GetAgentstatsCountResponses, GetAgentstatsData, GetAgentstatsError, GetAgentstatsErrors, GetAgentstatsResponse, GetAgentstatsResponses, GetApiTokensByIdByRelationData, GetApiTokensByIdByRelationError, GetApiTokensByIdByRelationErrors, GetApiTokensByIdByRelationResponse, GetApiTokensByIdByRelationResponses, GetApiTokensByIdData, GetApiTokensByIdError, GetApiTokensByIdErrors, GetApiTokensByIdRelationshipsByRelationData, GetApiTokensByIdRelationshipsByRelationError, GetApiTokensByIdRelationshipsByRelationErrors, GetApiTokensByIdRelationshipsByRelationResponse, GetApiTokensByIdRelationshipsByRelationResponses, GetApiTokensByIdResponse, GetApiTokensByIdResponses, GetApiTokensCountData, GetApiTokensCountError, GetApiTokensCountErrors, GetApiTokensCountResponse, GetApiTokensCountResponses, GetApiTokensData, GetApiTokensError, GetApiTokensErrors, GetApiTokensResponse, GetApiTokensResponses, GetChunksByIdByRelationData, GetChunksByIdByRelationError, GetChunksByIdByRelationErrors, GetChunksByIdByRelationResponse, GetChunksByIdByRelationResponses, GetChunksByIdData, GetChunksByIdError, GetChunksByIdErrors, GetChunksByIdRelationshipsByRelationData, GetChunksByIdRelationshipsByRelationError, GetChunksByIdRelationshipsByRelationErrors, GetChunksByIdRelationshipsByRelationResponse, GetChunksByIdRelationshipsByRelationResponses, GetChunksByIdResponse, GetChunksByIdResponses, GetChunksCountData, GetChunksCountError, GetChunksCountErrors, GetChunksCountResponse, GetChunksCountResponses, GetChunksData, GetChunksError, GetChunksErrors, GetChunksResponse, GetChunksResponses, GetConfigsByIdByRelationData, GetConfigsByIdByRelationError, GetConfigsByIdByRelationErrors, GetConfigsByIdByRelationResponse, GetConfigsByIdByRelationResponses, GetConfigsByIdData, GetConfigsByIdError, GetConfigsByIdErrors, GetConfigsByIdRelationshipsByRelationData, GetConfigsByIdRelationshipsByRelationError, GetConfigsByIdRelationshipsByRelationErrors, GetConfigsByIdRelationshipsByRelationResponse, GetConfigsByIdRelationshipsByRelationResponses, GetConfigsByIdResponse, GetConfigsByIdResponses, GetConfigsCountData, GetConfigsCountError, GetConfigsCountErrors, GetConfigsCountResponse, GetConfigsCountResponses, GetConfigsData, GetConfigsectionsByIdData, GetConfigsectionsByIdError, GetConfigsectionsByIdErrors, GetConfigsectionsByIdResponse, GetConfigsectionsByIdResponses, GetConfigsectionsCountData, GetConfigsectionsCountError, GetConfigsectionsCountErrors, GetConfigsectionsCountResponse, GetConfigsectionsCountResponses, GetConfigsectionsData, GetConfigsectionsError, GetConfigsectionsErrors, GetConfigsectionsResponse, GetConfigsectionsResponses, GetConfigsError, GetConfigsErrors, GetConfigsResponse, GetConfigsResponses, GetCrackersByIdByRelationData, GetCrackersByIdByRelationError, GetCrackersByIdByRelationErrors, GetCrackersByIdByRelationResponse, GetCrackersByIdByRelationResponses, GetCrackersByIdData, GetCrackersByIdError, GetCrackersByIdErrors, GetCrackersByIdRelationshipsByRelationData, GetCrackersByIdRelationshipsByRelationError, GetCrackersByIdRelationshipsByRelationErrors, GetCrackersByIdRelationshipsByRelationResponse, GetCrackersByIdRelationshipsByRelationResponses, GetCrackersByIdResponse, GetCrackersByIdResponses, GetCrackersCountData, GetCrackersCountError, GetCrackersCountErrors, GetCrackersCountResponse, GetCrackersCountResponses, GetCrackersData, GetCrackersError, GetCrackersErrors, GetCrackersResponse, GetCrackersResponses, GetCrackertypesByIdByRelationData, GetCrackertypesByIdByRelationError, GetCrackertypesByIdByRelationErrors, GetCrackertypesByIdByRelationResponse, GetCrackertypesByIdByRelationResponses, GetCrackertypesByIdData, GetCrackertypesByIdError, GetCrackertypesByIdErrors, GetCrackertypesByIdRelationshipsByRelationData, GetCrackertypesByIdRelationshipsByRelationError, GetCrackertypesByIdRelationshipsByRelationErrors, GetCrackertypesByIdRelationshipsByRelationResponse, GetCrackertypesByIdRelationshipsByRelationResponses, GetCrackertypesByIdResponse, GetCrackertypesByIdResponses, GetCrackertypesCountData, GetCrackertypesCountError, GetCrackertypesCountErrors, GetCrackertypesCountResponse, GetCrackertypesCountResponses, GetCrackertypesData, GetCrackertypesError, GetCrackertypesErrors, GetCrackertypesResponse, GetCrackertypesResponses, GetCurrentUserData, GetCurrentUserResponses, GetFilesByIdByRelationData, GetFilesByIdByRelationError, GetFilesByIdByRelationErrors, GetFilesByIdByRelationResponse, GetFilesByIdByRelationResponses, GetFilesByIdData, GetFilesByIdError, GetFilesByIdErrors, GetFilesByIdRelationshipsByRelationData, GetFilesByIdRelationshipsByRelationError, GetFilesByIdRelationshipsByRelationErrors, GetFilesByIdRelationshipsByRelationResponse, GetFilesByIdRelationshipsByRelationResponses, GetFilesByIdResponse, GetFilesByIdResponses, GetFilesCountData, GetFilesCountError, GetFilesCountErrors, GetFilesCountResponse, GetFilesCountResponses, GetFilesData, GetFilesError, GetFilesErrors, GetFilesResponse, GetFilesResponses, GetGetAccessGroupsData, GetGetAccessGroupsResponses, GetGetAgentBinaryData, GetGetAgentBinaryResponses, GetGetBestTasksAgentData, GetGetBestTasksAgentResponses, GetGetCracksOfTaskData, GetGetCracksOfTaskResponses, GetGetFileData, GetGetFileResponses, GetGetTaskProgressImageData, GetGetTaskProgressImageResponses, GetGetUserPermissionData, GetGetUserPermissionResponses, GetGlobalpermissiongroupsByIdByRelationData, GetGlobalpermissiongroupsByIdByRelationError, GetGlobalpermissiongroupsByIdByRelationErrors, GetGlobalpermissiongroupsByIdByRelationResponse, GetGlobalpermissiongroupsByIdByRelationResponses, GetGlobalpermissiongroupsByIdData, GetGlobalpermissiongroupsByIdError, GetGlobalpermissiongroupsByIdErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationData, GetGlobalpermissiongroupsByIdRelationshipsByRelationError, GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses, GetGlobalpermissiongroupsByIdResponse, GetGlobalpermissiongroupsByIdResponses, GetGlobalpermissiongroupsCountData, GetGlobalpermissiongroupsCountError, GetGlobalpermissiongroupsCountErrors, GetGlobalpermissiongroupsCountResponse, GetGlobalpermissiongroupsCountResponses, GetGlobalpermissiongroupsData, GetGlobalpermissiongroupsError, GetGlobalpermissiongroupsErrors, GetGlobalpermissiongroupsResponse, GetGlobalpermissiongroupsResponses, GetHashesByIdByRelationData, GetHashesByIdByRelationError, GetHashesByIdByRelationErrors, GetHashesByIdByRelationResponse, GetHashesByIdByRelationResponses, GetHashesByIdData, GetHashesByIdError, GetHashesByIdErrors, GetHashesByIdRelationshipsByRelationData, GetHashesByIdRelationshipsByRelationError, GetHashesByIdRelationshipsByRelationErrors, GetHashesByIdRelationshipsByRelationResponse, GetHashesByIdRelationshipsByRelationResponses, GetHashesByIdResponse, GetHashesByIdResponses, GetHashesCountData, GetHashesCountError, GetHashesCountErrors, GetHashesCountResponse, GetHashesCountResponses, GetHashesData, GetHashesError, GetHashesErrors, GetHashesResponse, GetHashesResponses, GetHashlistsByIdByRelationData, GetHashlistsByIdByRelationError, GetHashlistsByIdByRelationErrors, GetHashlistsByIdByRelationResponse, GetHashlistsByIdByRelationResponses, GetHashlistsByIdData, GetHashlistsByIdError, GetHashlistsByIdErrors, GetHashlistsByIdRelationshipsByRelationData, GetHashlistsByIdRelationshipsByRelationError, GetHashlistsByIdRelationshipsByRelationErrors, GetHashlistsByIdRelationshipsByRelationResponse, GetHashlistsByIdRelationshipsByRelationResponses, GetHashlistsByIdResponse, GetHashlistsByIdResponses, GetHashlistsCountData, GetHashlistsCountError, GetHashlistsCountErrors, GetHashlistsCountResponse, GetHashlistsCountResponses, GetHashlistsData, GetHashlistsError, GetHashlistsErrors, GetHashlistsResponse, GetHashlistsResponses, GetHashtypesByIdData, GetHashtypesByIdError, GetHashtypesByIdErrors, GetHashtypesByIdResponse, GetHashtypesByIdResponses, GetHashtypesCountData, GetHashtypesCountError, GetHashtypesCountErrors, GetHashtypesCountResponse, GetHashtypesCountResponses, GetHashtypesData, GetHashtypesError, GetHashtypesErrors, GetHashtypesResponse, GetHashtypesResponses, GetHealthcheckagentsByIdByRelationData, GetHealthcheckagentsByIdByRelationError, GetHealthcheckagentsByIdByRelationErrors, GetHealthcheckagentsByIdByRelationResponse, GetHealthcheckagentsByIdByRelationResponses, GetHealthcheckagentsByIdData, GetHealthcheckagentsByIdError, GetHealthcheckagentsByIdErrors, GetHealthcheckagentsByIdRelationshipsByRelationData, GetHealthcheckagentsByIdRelationshipsByRelationError, GetHealthcheckagentsByIdRelationshipsByRelationErrors, GetHealthcheckagentsByIdRelationshipsByRelationResponse, GetHealthcheckagentsByIdRelationshipsByRelationResponses, GetHealthcheckagentsByIdResponse, GetHealthcheckagentsByIdResponses, GetHealthcheckagentsCountData, GetHealthcheckagentsCountError, GetHealthcheckagentsCountErrors, GetHealthcheckagentsCountResponse, GetHealthcheckagentsCountResponses, GetHealthcheckagentsData, GetHealthcheckagentsError, GetHealthcheckagentsErrors, GetHealthcheckagentsResponse, GetHealthcheckagentsResponses, GetHealthchecksByIdByRelationData, GetHealthchecksByIdByRelationError, GetHealthchecksByIdByRelationErrors, GetHealthchecksByIdByRelationResponse, GetHealthchecksByIdByRelationResponses, GetHealthchecksByIdData, GetHealthchecksByIdError, GetHealthchecksByIdErrors, GetHealthchecksByIdRelationshipsByRelationData, GetHealthchecksByIdRelationshipsByRelationError, GetHealthchecksByIdRelationshipsByRelationErrors, GetHealthchecksByIdRelationshipsByRelationResponse, GetHealthchecksByIdRelationshipsByRelationResponses, GetHealthchecksByIdResponse, GetHealthchecksByIdResponses, GetHealthchecksCountData, GetHealthchecksCountError, GetHealthchecksCountErrors, GetHealthchecksCountResponse, GetHealthchecksCountResponses, GetHealthchecksData, GetHealthchecksError, GetHealthchecksErrors, GetHealthchecksResponse, GetHealthchecksResponses, GetImportFileData, GetImportFileResponses, GetLogentriesByIdData, GetLogentriesByIdError, GetLogentriesByIdErrors, GetLogentriesByIdResponse, GetLogentriesByIdResponses, GetLogentriesCountData, GetLogentriesCountError, GetLogentriesCountErrors, GetLogentriesCountResponse, GetLogentriesCountResponses, GetLogentriesData, GetLogentriesError, GetLogentriesErrors, GetLogentriesResponse, GetLogentriesResponses, GetNotificationsByIdByRelationData, GetNotificationsByIdByRelationError, GetNotificationsByIdByRelationErrors, GetNotificationsByIdByRelationResponse, GetNotificationsByIdByRelationResponses, GetNotificationsByIdData, GetNotificationsByIdError, GetNotificationsByIdErrors, GetNotificationsByIdRelationshipsByRelationData, GetNotificationsByIdRelationshipsByRelationError, GetNotificationsByIdRelationshipsByRelationErrors, GetNotificationsByIdRelationshipsByRelationResponse, GetNotificationsByIdRelationshipsByRelationResponses, GetNotificationsByIdResponse, GetNotificationsByIdResponses, GetNotificationsCountData, GetNotificationsCountError, GetNotificationsCountErrors, GetNotificationsCountResponse, GetNotificationsCountResponses, GetNotificationsData, GetNotificationsError, GetNotificationsErrors, GetNotificationsResponse, GetNotificationsResponses, GetPreprocessorsByIdData, GetPreprocessorsByIdError, GetPreprocessorsByIdErrors, GetPreprocessorsByIdResponse, GetPreprocessorsByIdResponses, GetPreprocessorsCountData, GetPreprocessorsCountError, GetPreprocessorsCountErrors, GetPreprocessorsCountResponse, GetPreprocessorsCountResponses, GetPreprocessorsData, GetPreprocessorsError, GetPreprocessorsErrors, GetPreprocessorsResponse, GetPreprocessorsResponses, GetPretasksByIdByRelationData, GetPretasksByIdByRelationError, GetPretasksByIdByRelationErrors, GetPretasksByIdByRelationResponse, GetPretasksByIdByRelationResponses, GetPretasksByIdData, GetPretasksByIdError, GetPretasksByIdErrors, GetPretasksByIdRelationshipsByRelationData, GetPretasksByIdRelationshipsByRelationError, GetPretasksByIdRelationshipsByRelationErrors, GetPretasksByIdRelationshipsByRelationResponse, GetPretasksByIdRelationshipsByRelationResponses, GetPretasksByIdResponse, GetPretasksByIdResponses, GetPretasksCountData, GetPretasksCountError, GetPretasksCountErrors, GetPretasksCountResponse, GetPretasksCountResponses, GetPretasksData, GetPretasksError, GetPretasksErrors, GetPretasksResponse, GetPretasksResponses, GetSpeedsByIdByRelationData, GetSpeedsByIdByRelationError, GetSpeedsByIdByRelationErrors, GetSpeedsByIdByRelationResponse, GetSpeedsByIdByRelationResponses, GetSpeedsByIdData, GetSpeedsByIdError, GetSpeedsByIdErrors, GetSpeedsByIdRelationshipsByRelationData, GetSpeedsByIdRelationshipsByRelationError, GetSpeedsByIdRelationshipsByRelationErrors, GetSpeedsByIdRelationshipsByRelationResponse, GetSpeedsByIdRelationshipsByRelationResponses, GetSpeedsByIdResponse, GetSpeedsByIdResponses, GetSpeedsCountData, GetSpeedsCountError, GetSpeedsCountErrors, GetSpeedsCountResponse, GetSpeedsCountResponses, GetSpeedsData, GetSpeedsError, GetSpeedsErrors, GetSpeedsResponse, GetSpeedsResponses, GetSupertasksByIdByRelationData, GetSupertasksByIdByRelationError, GetSupertasksByIdByRelationErrors, GetSupertasksByIdByRelationResponse, GetSupertasksByIdByRelationResponses, GetSupertasksByIdData, GetSupertasksByIdError, GetSupertasksByIdErrors, GetSupertasksByIdRelationshipsByRelationData, GetSupertasksByIdRelationshipsByRelationError, GetSupertasksByIdRelationshipsByRelationErrors, GetSupertasksByIdRelationshipsByRelationResponse, GetSupertasksByIdRelationshipsByRelationResponses, GetSupertasksByIdResponse, GetSupertasksByIdResponses, GetSupertasksCountData, GetSupertasksCountError, GetSupertasksCountErrors, GetSupertasksCountResponse, GetSupertasksCountResponses, GetSupertasksData, GetSupertasksError, GetSupertasksErrors, GetSupertasksResponse, GetSupertasksResponses, GetTasksByIdByRelationData, GetTasksByIdByRelationError, GetTasksByIdByRelationErrors, GetTasksByIdByRelationResponse, GetTasksByIdByRelationResponses, GetTasksByIdData, GetTasksByIdError, GetTasksByIdErrors, GetTasksByIdRelationshipsByRelationData, GetTasksByIdRelationshipsByRelationError, GetTasksByIdRelationshipsByRelationErrors, GetTasksByIdRelationshipsByRelationResponse, GetTasksByIdRelationshipsByRelationResponses, GetTasksByIdResponse, GetTasksByIdResponses, GetTasksCountData, GetTasksCountError, GetTasksCountErrors, GetTasksCountResponse, GetTasksCountResponses, GetTasksData, GetTasksError, GetTasksErrors, GetTasksResponse, GetTasksResponses, GetTaskwrappersByIdByRelationData, GetTaskwrappersByIdByRelationError, GetTaskwrappersByIdByRelationErrors, GetTaskwrappersByIdByRelationResponse, GetTaskwrappersByIdByRelationResponses, GetTaskwrappersByIdData, GetTaskwrappersByIdError, GetTaskwrappersByIdErrors, GetTaskwrappersByIdRelationshipsByRelationData, GetTaskwrappersByIdRelationshipsByRelationError, GetTaskwrappersByIdRelationshipsByRelationErrors, GetTaskwrappersByIdRelationshipsByRelationResponse, GetTaskwrappersByIdRelationshipsByRelationResponses, GetTaskwrappersByIdResponse, GetTaskwrappersByIdResponses, GetTaskwrappersCountData, GetTaskwrappersCountError, GetTaskwrappersCountErrors, GetTaskwrappersCountResponse, GetTaskwrappersCountResponses, GetTaskwrappersData, GetTaskwrappersError, GetTaskwrappersErrors, GetTaskwrappersResponse, GetTaskwrappersResponses, GetUsersByIdByRelationData, GetUsersByIdByRelationError, GetUsersByIdByRelationErrors, GetUsersByIdByRelationResponse, GetUsersByIdByRelationResponses, GetUsersByIdData, GetUsersByIdError, GetUsersByIdErrors, GetUsersByIdRelationshipsByRelationData, GetUsersByIdRelationshipsByRelationError, GetUsersByIdRelationshipsByRelationErrors, GetUsersByIdRelationshipsByRelationResponse, GetUsersByIdRelationshipsByRelationResponses, GetUsersByIdResponse, GetUsersByIdResponses, GetUsersCountData, GetUsersCountError, GetUsersCountErrors, GetUsersCountResponse, GetUsersCountResponses, GetUsersData, GetUsersError, GetUsersErrors, GetUsersResponse, GetUsersResponses, GetVouchersByIdData, GetVouchersByIdError, GetVouchersByIdErrors, GetVouchersByIdResponse, GetVouchersByIdResponses, GetVouchersCountData, GetVouchersCountError, GetVouchersCountErrors, GetVouchersCountResponse, GetVouchersCountResponses, GetVouchersData, GetVouchersError, GetVouchersErrors, GetVouchersResponse, GetVouchersResponses, HashlistCreate, HashlistPatch, HashlistPostPatchResponse, HashlistRelationTasks, HashlistRelationTasksGetResponse, HashlistResponse, HashlistSingleResponse, HashRelationHashlist, HashRelationHashlistGetResponse, HashResponse, HashTypeCreate, HashTypePatch, HashTypePostPatchResponse, HashTypeResponse, HeadImportFileById09aF32Data, HeadImportFileById09aF32Responses, HealthCheckAgentRelationHealthCheck, HealthCheckAgentRelationHealthCheckGetResponse, HealthCheckAgentResponse, HealthCheckCreate, HealthCheckPatch, HealthCheckPostPatchResponse, HealthCheckRelationHealthCheckAgents, HealthCheckRelationHealthCheckAgentsGetResponse, HealthCheckResponse, ImportCrackedHashesHelperApi, ImportCrackedHashesHelperApiResponse, ImportFileHelperApi, JwtApiKeyCreate, JwtApiKeyPatch, JwtApiKeyPostPatchResponse, JwtApiKeyRelationUser, JwtApiKeyRelationUserGetResponse, JwtApiKeyResponse, LogEntryCreate, LogEntryPatch, LogEntryPostPatchResponse, LogEntryResponse, MaskSupertaskBuilderHelperApi, NotFoundResponse, NotificationSettingCreate, NotificationSettingPatch, NotificationSettingPostPatchResponse, NotificationSettingRelationUser, NotificationSettingRelationUserGetResponse, NotificationSettingResponse, PatchAccessgroupsByIdData, PatchAccessgroupsByIdError, PatchAccessgroupsByIdErrors, PatchAccessgroupsByIdRelationshipsByRelationData, PatchAccessgroupsByIdRelationshipsByRelationError, PatchAccessgroupsByIdRelationshipsByRelationErrors, PatchAccessgroupsByIdRelationshipsByRelationResponse, PatchAccessgroupsByIdRelationshipsByRelationResponses, PatchAccessgroupsByIdResponse, PatchAccessgroupsByIdResponses, PatchAccessgroupsData, PatchAccessgroupsError, PatchAccessgroupsErrors, PatchAccessgroupsResponses, PatchAgentassignmentsByIdData, PatchAgentassignmentsByIdError, PatchAgentassignmentsByIdErrors, PatchAgentassignmentsByIdRelationshipsByRelationData, PatchAgentassignmentsByIdRelationshipsByRelationError, PatchAgentassignmentsByIdRelationshipsByRelationErrors, PatchAgentassignmentsByIdRelationshipsByRelationResponse, PatchAgentassignmentsByIdRelationshipsByRelationResponses, PatchAgentassignmentsByIdResponse, PatchAgentassignmentsByIdResponses, PatchAgentassignmentsData, PatchAgentassignmentsError, PatchAgentassignmentsErrors, PatchAgentassignmentsResponses, PatchAgentbinariesByIdData, PatchAgentbinariesByIdError, PatchAgentbinariesByIdErrors, PatchAgentbinariesByIdResponse, PatchAgentbinariesByIdResponses, PatchAgentbinariesData, PatchAgentbinariesError, PatchAgentbinariesErrors, PatchAgentbinariesResponses, PatchAgenterrorsByIdRelationshipsByRelationData, PatchAgenterrorsByIdRelationshipsByRelationError, PatchAgenterrorsByIdRelationshipsByRelationErrors, PatchAgenterrorsByIdRelationshipsByRelationResponse, PatchAgenterrorsByIdRelationshipsByRelationResponses, PatchAgentsByIdData, PatchAgentsByIdError, PatchAgentsByIdErrors, PatchAgentsByIdRelationshipsByRelationData, PatchAgentsByIdRelationshipsByRelationError, PatchAgentsByIdRelationshipsByRelationErrors, PatchAgentsByIdRelationshipsByRelationResponse, PatchAgentsByIdRelationshipsByRelationResponses, PatchAgentsByIdResponse, PatchAgentsByIdResponses, PatchAgentsData, PatchAgentsError, PatchAgentsErrors, PatchAgentsResponses, PatchApiTokensByIdData, PatchApiTokensByIdError, PatchApiTokensByIdErrors, PatchApiTokensByIdRelationshipsByRelationData, PatchApiTokensByIdRelationshipsByRelationError, PatchApiTokensByIdRelationshipsByRelationErrors, PatchApiTokensByIdRelationshipsByRelationResponse, PatchApiTokensByIdRelationshipsByRelationResponses, PatchApiTokensByIdResponse, PatchApiTokensByIdResponses, PatchApiTokensData, PatchApiTokensError, PatchApiTokensErrors, PatchApiTokensResponses, PatchChunksByIdRelationshipsByRelationData, PatchChunksByIdRelationshipsByRelationError, PatchChunksByIdRelationshipsByRelationErrors, PatchChunksByIdRelationshipsByRelationResponse, PatchChunksByIdRelationshipsByRelationResponses, PatchConfigsByIdData, PatchConfigsByIdError, PatchConfigsByIdErrors, PatchConfigsByIdRelationshipsByRelationData, PatchConfigsByIdRelationshipsByRelationError, PatchConfigsByIdRelationshipsByRelationErrors, PatchConfigsByIdRelationshipsByRelationResponse, PatchConfigsByIdRelationshipsByRelationResponses, PatchConfigsByIdResponse, PatchConfigsByIdResponses, PatchConfigsData, PatchConfigsError, PatchConfigsErrors, PatchConfigsResponses, PatchCrackersByIdData, PatchCrackersByIdError, PatchCrackersByIdErrors, PatchCrackersByIdRelationshipsByRelationData, PatchCrackersByIdRelationshipsByRelationError, PatchCrackersByIdRelationshipsByRelationErrors, PatchCrackersByIdRelationshipsByRelationResponse, PatchCrackersByIdRelationshipsByRelationResponses, PatchCrackersByIdResponse, PatchCrackersByIdResponses, PatchCrackersData, PatchCrackersError, PatchCrackersErrors, PatchCrackersResponses, PatchCrackertypesByIdData, PatchCrackertypesByIdError, PatchCrackertypesByIdErrors, PatchCrackertypesByIdRelationshipsByRelationData, PatchCrackertypesByIdRelationshipsByRelationError, PatchCrackertypesByIdRelationshipsByRelationErrors, PatchCrackertypesByIdRelationshipsByRelationResponse, PatchCrackertypesByIdRelationshipsByRelationResponses, PatchCrackertypesByIdResponse, PatchCrackertypesByIdResponses, PatchCrackertypesData, PatchCrackertypesError, PatchCrackertypesErrors, PatchCrackertypesResponses, PatchCurrentUserData, PatchCurrentUserResponses, PatchFilesByIdData, PatchFilesByIdError, PatchFilesByIdErrors, PatchFilesByIdRelationshipsByRelationData, PatchFilesByIdRelationshipsByRelationError, PatchFilesByIdRelationshipsByRelationErrors, PatchFilesByIdRelationshipsByRelationResponse, PatchFilesByIdRelationshipsByRelationResponses, PatchFilesByIdResponse, PatchFilesByIdResponses, PatchFilesData, PatchFilesError, PatchFilesErrors, PatchFilesResponses, PatchGlobalpermissiongroupsByIdData, PatchGlobalpermissiongroupsByIdError, PatchGlobalpermissiongroupsByIdErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationData, PatchGlobalpermissiongroupsByIdRelationshipsByRelationError, PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PatchGlobalpermissiongroupsByIdResponse, PatchGlobalpermissiongroupsByIdResponses, PatchGlobalpermissiongroupsData, PatchGlobalpermissiongroupsError, PatchGlobalpermissiongroupsErrors, PatchGlobalpermissiongroupsResponses, PatchHashesByIdRelationshipsByRelationData, PatchHashesByIdRelationshipsByRelationError, PatchHashesByIdRelationshipsByRelationErrors, PatchHashesByIdRelationshipsByRelationResponse, PatchHashesByIdRelationshipsByRelationResponses, PatchHashlistsByIdData, PatchHashlistsByIdError, PatchHashlistsByIdErrors, PatchHashlistsByIdRelationshipsByRelationData, PatchHashlistsByIdRelationshipsByRelationError, PatchHashlistsByIdRelationshipsByRelationErrors, PatchHashlistsByIdRelationshipsByRelationResponse, PatchHashlistsByIdRelationshipsByRelationResponses, PatchHashlistsByIdResponse, PatchHashlistsByIdResponses, PatchHashlistsData, PatchHashlistsError, PatchHashlistsErrors, PatchHashlistsResponses, PatchHashtypesByIdData, PatchHashtypesByIdError, PatchHashtypesByIdErrors, PatchHashtypesByIdResponse, PatchHashtypesByIdResponses, PatchHashtypesData, PatchHashtypesError, PatchHashtypesErrors, PatchHashtypesResponses, PatchHealthcheckagentsByIdRelationshipsByRelationData, PatchHealthcheckagentsByIdRelationshipsByRelationError, PatchHealthcheckagentsByIdRelationshipsByRelationErrors, PatchHealthcheckagentsByIdRelationshipsByRelationResponse, PatchHealthcheckagentsByIdRelationshipsByRelationResponses, PatchHealthchecksByIdData, PatchHealthchecksByIdError, PatchHealthchecksByIdErrors, PatchHealthchecksByIdRelationshipsByRelationData, PatchHealthchecksByIdRelationshipsByRelationError, PatchHealthchecksByIdRelationshipsByRelationErrors, PatchHealthchecksByIdRelationshipsByRelationResponse, PatchHealthchecksByIdRelationshipsByRelationResponses, PatchHealthchecksByIdResponse, PatchHealthchecksByIdResponses, PatchHealthchecksData, PatchHealthchecksError, PatchHealthchecksErrors, PatchHealthchecksResponses, PatchImportFileById09aF32Data, PatchImportFileById09aF32Response, PatchImportFileById09aF32Responses, PatchLogentriesByIdData, PatchLogentriesByIdError, PatchLogentriesByIdErrors, PatchLogentriesByIdResponse, PatchLogentriesByIdResponses, PatchLogentriesData, PatchLogentriesError, PatchLogentriesErrors, PatchLogentriesResponses, PatchNotificationsByIdData, PatchNotificationsByIdError, PatchNotificationsByIdErrors, PatchNotificationsByIdRelationshipsByRelationData, PatchNotificationsByIdRelationshipsByRelationError, PatchNotificationsByIdRelationshipsByRelationErrors, PatchNotificationsByIdRelationshipsByRelationResponse, PatchNotificationsByIdRelationshipsByRelationResponses, PatchNotificationsByIdResponse, PatchNotificationsByIdResponses, PatchNotificationsData, PatchNotificationsError, PatchNotificationsErrors, PatchNotificationsResponses, PatchPreprocessorsByIdData, PatchPreprocessorsByIdError, PatchPreprocessorsByIdErrors, PatchPreprocessorsByIdResponse, PatchPreprocessorsByIdResponses, PatchPreprocessorsData, PatchPreprocessorsError, PatchPreprocessorsErrors, PatchPreprocessorsResponses, PatchPretasksByIdData, PatchPretasksByIdError, PatchPretasksByIdErrors, PatchPretasksByIdRelationshipsByRelationData, PatchPretasksByIdRelationshipsByRelationError, PatchPretasksByIdRelationshipsByRelationErrors, PatchPretasksByIdRelationshipsByRelationResponse, PatchPretasksByIdRelationshipsByRelationResponses, PatchPretasksByIdResponse, PatchPretasksByIdResponses, PatchPretasksData, PatchPretasksError, PatchPretasksErrors, PatchPretasksResponses, PatchSpeedsByIdRelationshipsByRelationData, PatchSpeedsByIdRelationshipsByRelationError, PatchSpeedsByIdRelationshipsByRelationErrors, PatchSpeedsByIdRelationshipsByRelationResponse, PatchSpeedsByIdRelationshipsByRelationResponses, PatchSupertasksByIdData, PatchSupertasksByIdError, PatchSupertasksByIdErrors, PatchSupertasksByIdRelationshipsByRelationData, PatchSupertasksByIdRelationshipsByRelationError, PatchSupertasksByIdRelationshipsByRelationErrors, PatchSupertasksByIdRelationshipsByRelationResponse, PatchSupertasksByIdRelationshipsByRelationResponses, PatchSupertasksByIdResponse, PatchSupertasksByIdResponses, PatchSupertasksData, PatchSupertasksError, PatchSupertasksErrors, PatchSupertasksResponses, PatchTasksByIdData, PatchTasksByIdError, PatchTasksByIdErrors, PatchTasksByIdRelationshipsByRelationData, PatchTasksByIdRelationshipsByRelationError, PatchTasksByIdRelationshipsByRelationErrors, PatchTasksByIdRelationshipsByRelationResponse, PatchTasksByIdRelationshipsByRelationResponses, PatchTasksByIdResponse, PatchTasksByIdResponses, PatchTasksData, PatchTasksError, PatchTasksErrors, PatchTasksResponses, PatchTaskwrappersByIdData, PatchTaskwrappersByIdError, PatchTaskwrappersByIdErrors, PatchTaskwrappersByIdRelationshipsByRelationData, PatchTaskwrappersByIdRelationshipsByRelationError, PatchTaskwrappersByIdRelationshipsByRelationErrors, PatchTaskwrappersByIdRelationshipsByRelationResponse, PatchTaskwrappersByIdRelationshipsByRelationResponses, PatchTaskwrappersByIdResponse, PatchTaskwrappersByIdResponses, PatchTaskwrappersData, PatchTaskwrappersError, PatchTaskwrappersErrors, PatchTaskwrappersResponses, PatchUsersByIdData, PatchUsersByIdError, PatchUsersByIdErrors, PatchUsersByIdRelationshipsByRelationData, PatchUsersByIdRelationshipsByRelationError, PatchUsersByIdRelationshipsByRelationErrors, PatchUsersByIdRelationshipsByRelationResponse, PatchUsersByIdRelationshipsByRelationResponses, PatchUsersByIdResponse, PatchUsersByIdResponses, PatchUsersData, PatchUsersError, PatchUsersErrors, PatchUsersResponses, PatchVouchersByIdData, PatchVouchersByIdError, PatchVouchersByIdErrors, PatchVouchersByIdResponse, PatchVouchersByIdResponses, PatchVouchersData, PatchVouchersError, PatchVouchersErrors, PatchVouchersResponses, PostAbortChunkData, PostAbortChunkResponse, PostAbortChunkResponses, PostAccessgroupsByIdRelationshipsByRelationData, PostAccessgroupsByIdRelationshipsByRelationError, PostAccessgroupsByIdRelationshipsByRelationErrors, PostAccessgroupsByIdRelationshipsByRelationResponse, PostAccessgroupsByIdRelationshipsByRelationResponses, PostAccessgroupsData, PostAccessgroupsError, PostAccessgroupsErrors, PostAccessgroupsResponse, PostAccessgroupsResponses, PostAgentassignmentsData, PostAgentassignmentsError, PostAgentassignmentsErrors, PostAgentassignmentsResponse, PostAgentassignmentsResponses, PostAgentbinariesData, PostAgentbinariesError, PostAgentbinariesErrors, PostAgentbinariesResponse, PostAgentbinariesResponses, PostAgentsByIdRelationshipsByRelationData, PostAgentsByIdRelationshipsByRelationError, PostAgentsByIdRelationshipsByRelationErrors, PostAgentsByIdRelationshipsByRelationResponse, PostAgentsByIdRelationshipsByRelationResponses, PostApiTokensData, PostApiTokensError, PostApiTokensErrors, PostApiTokensResponse, PostApiTokensResponses, PostAssignAgentData, PostAssignAgentResponse, PostAssignAgentResponses, PostBulkSupertaskBuilderData, PostBulkSupertaskBuilderResponse, PostBulkSupertaskBuilderResponses, PostChangeOwnPasswordData, PostChangeOwnPasswordResponse, PostChangeOwnPasswordResponses, PostCrackersByIdRelationshipsByRelationData, PostCrackersByIdRelationshipsByRelationError, PostCrackersByIdRelationshipsByRelationErrors, PostCrackersByIdRelationshipsByRelationResponse, PostCrackersByIdRelationshipsByRelationResponses, PostCrackersData, PostCrackersError, PostCrackersErrors, PostCrackersResponse, PostCrackersResponses, PostCrackertypesByIdRelationshipsByRelationData, PostCrackertypesByIdRelationshipsByRelationError, PostCrackertypesByIdRelationshipsByRelationErrors, PostCrackertypesByIdRelationshipsByRelationResponse, PostCrackertypesByIdRelationshipsByRelationResponses, PostCrackertypesData, PostCrackertypesError, PostCrackertypesErrors, PostCrackertypesResponse, PostCrackertypesResponses, PostCreateSuperHashlistData, PostCreateSuperHashlistResponse, PostCreateSuperHashlistResponses, PostCreateSupertaskData, PostCreateSupertaskResponse, PostCreateSupertaskResponses, PostExportCrackedHashesData, PostExportCrackedHashesResponse, PostExportCrackedHashesResponses, PostExportLeftHashesData, PostExportLeftHashesResponse, PostExportLeftHashesResponses, PostExportWordlistData, PostExportWordlistResponse, PostExportWordlistResponses, PostFilesData, PostFilesError, PostFilesErrors, PostFilesResponse, PostFilesResponses, PostGlobalpermissiongroupsByIdRelationshipsByRelationData, PostGlobalpermissiongroupsByIdRelationshipsByRelationError, PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PostGlobalpermissiongroupsData, PostGlobalpermissiongroupsError, PostGlobalpermissiongroupsErrors, PostGlobalpermissiongroupsResponse, PostGlobalpermissiongroupsResponses, PostHashlistsByIdRelationshipsByRelationData, PostHashlistsByIdRelationshipsByRelationError, PostHashlistsByIdRelationshipsByRelationErrors, PostHashlistsByIdRelationshipsByRelationResponse, PostHashlistsByIdRelationshipsByRelationResponses, PostHashlistsData, PostHashlistsError, PostHashlistsErrors, PostHashlistsResponse, PostHashlistsResponses, PostHashtypesData, PostHashtypesError, PostHashtypesErrors, PostHashtypesResponse, PostHashtypesResponses, PostHealthchecksByIdRelationshipsByRelationData, PostHealthchecksByIdRelationshipsByRelationError, PostHealthchecksByIdRelationshipsByRelationErrors, PostHealthchecksByIdRelationshipsByRelationResponse, PostHealthchecksByIdRelationshipsByRelationResponses, PostHealthchecksData, PostHealthchecksError, PostHealthchecksErrors, PostHealthchecksResponse, PostHealthchecksResponses, PostImportCrackedHashesData, PostImportCrackedHashesResponse, PostImportCrackedHashesResponses, PostImportFileData, PostImportFileResponse, PostImportFileResponses, PostLogentriesData, PostLogentriesError, PostLogentriesErrors, PostLogentriesResponse, PostLogentriesResponses, PostMaskSupertaskBuilderData, PostMaskSupertaskBuilderResponse, PostMaskSupertaskBuilderResponses, PostNotificationsData, PostNotificationsError, PostNotificationsErrors, PostNotificationsResponse, PostNotificationsResponses, PostPreprocessorsData, PostPreprocessorsError, PostPreprocessorsErrors, PostPreprocessorsResponse, PostPreprocessorsResponses, PostPretasksByIdRelationshipsByRelationData, PostPretasksByIdRelationshipsByRelationError, PostPretasksByIdRelationshipsByRelationErrors, PostPretasksByIdRelationshipsByRelationResponse, PostPretasksByIdRelationshipsByRelationResponses, PostPretasksData, PostPretasksError, PostPretasksErrors, PostPretasksResponse, PostPretasksResponses, PostPurgeTaskData, PostPurgeTaskResponse, PostPurgeTaskResponses, PostRebuildChunkCacheData, PostRebuildChunkCacheResponse, PostRebuildChunkCacheResponses, PostRecountFileLinesData, PostRecountFileLinesResponse, PostRecountFileLinesResponses, PostRescanGlobalFilesData, PostRescanGlobalFilesResponse, PostRescanGlobalFilesResponses, PostResetChunkData, PostResetChunkResponse, PostResetChunkResponses, PostResetUserPasswordData, PostResetUserPasswordResponse, PostResetUserPasswordResponses, PostSearchHashesData, PostSearchHashesResponse, PostSearchHashesResponses, PostSetUserPasswordData, PostSetUserPasswordResponse, PostSetUserPasswordResponses, PostSupertasksByIdRelationshipsByRelationData, PostSupertasksByIdRelationshipsByRelationError, PostSupertasksByIdRelationshipsByRelationErrors, PostSupertasksByIdRelationshipsByRelationResponse, PostSupertasksByIdRelationshipsByRelationResponses, PostSupertasksData, PostSupertasksError, PostSupertasksErrors, PostSupertasksResponse, PostSupertasksResponses, PostTasksByIdRelationshipsByRelationData, PostTasksByIdRelationshipsByRelationError, PostTasksByIdRelationshipsByRelationErrors, PostTasksByIdRelationshipsByRelationResponse, PostTasksByIdRelationshipsByRelationResponses, PostTasksData, PostTasksError, PostTasksErrors, PostTasksResponse, PostTasksResponses, PostTaskwrappersByIdRelationshipsByRelationData, PostTaskwrappersByIdRelationshipsByRelationError, PostTaskwrappersByIdRelationshipsByRelationErrors, PostTaskwrappersByIdRelationshipsByRelationResponse, PostTaskwrappersByIdRelationshipsByRelationResponses, PostTokenData, PostTokenError, PostTokenErrors, PostTokenResponse, PostTokenResponses, PostUnassignAgentData, PostUnassignAgentResponse, PostUnassignAgentResponses, PostUsersByIdRelationshipsByRelationData, PostUsersByIdRelationshipsByRelationError, PostUsersByIdRelationshipsByRelationErrors, PostUsersByIdRelationshipsByRelationResponse, PostUsersByIdRelationshipsByRelationResponses, PostUsersData, PostUsersError, PostUsersErrors, PostUsersResponse, PostUsersResponses, PostVouchersData, PostVouchersError, PostVouchersErrors, PostVouchersResponse, PostVouchersResponses, PreprocessorCreate, PreprocessorPatch, PreprocessorPostPatchResponse, PreprocessorResponse, PretaskCreate, PretaskPatch, PretaskPostPatchResponse, PretaskRelationPretaskFiles, PretaskRelationPretaskFilesGetResponse, PretaskResponse, PurgeTaskHelperApi, PurgeTaskHelperApiResponse, RebuildChunkCacheHelperApi, RebuildChunkCacheHelperApiResponse, RecountFileLinesHelperApi, RegVoucherCreate, RegVoucherPatch, RegVoucherPostPatchResponse, RegVoucherResponse, RescanGlobalFilesHelperApi, RescanGlobalFilesHelperApiResponse, ResetChunkHelperApi, ResetChunkHelperApiResponse, ResetUserPasswordHelperApi, ResetUserPasswordHelperApiResponse, RightGroupCreate, RightGroupPatch, RightGroupPostPatchResponse, RightGroupRelationUserMembers, RightGroupRelationUserMembersGetResponse, RightGroupResponse, SearchHashesHelperApi, SearchHashesHelperApiResponse, SetUserPasswordHelperApi, SetUserPasswordHelperApiResponse, SpeedRelationTask, SpeedRelationTaskGetResponse, SpeedResponse, SupertaskCreate, SupertaskPatch, SupertaskPostPatchResponse, SupertaskRelationPretasks, SupertaskRelationPretasksGetResponse, SupertaskResponse, SupertaskSingleResponse, TaskCreate, TaskPatch, TaskPostPatchResponse, TaskRelationSpeeds, TaskRelationSpeedsGetResponse, TaskResponse, TaskWrapperPatch, TaskWrapperPostPatchResponse, TaskWrapperRelationTasks, TaskWrapperRelationTasksGetResponse, TaskWrapperResponse, TaskWrapperSingleResponse, Token, TokenRequest, UnassignAgentHelperApi, UnassignAgentHelperApiResponse, UserCreate, UserPatch, UserPostPatchResponse, UserRelationAccessGroups, UserRelationAccessGroupsGetResponse, UserResponse } from './types.gen'; diff --git a/src/generated/api/types.gen.ts b/src/generated/api/types.gen.ts new file mode 100644 index 000000000..483b11168 --- /dev/null +++ b/src/generated/api/types.gen.ts @@ -0,0 +1,14841 @@ +// This file is auto-generated by @hey-api/openapi-ts + +export type ClientOptions = { + baseUrl: `${string}://${string}` | (string & {}); +}; + +export type ErrorResponse = { + title?: string; + type?: string; + status?: number; +}; + +export type NotFoundResponse = { + message?: string; + exception?: { + type?: string; + code?: number; + message?: string; + file?: string; + line?: number; + }; +}; + +export type AccessGroupCreate = { + data?: { + type?: string; + attributes?: { + groupName?: string; + }; + }; +}; + +export type AccessGroupPatch = { + data?: { + type?: string; + attributes?: { + groupName?: string; + }; + }; +}; + +export type AccessGroupResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + groupName?: string; + }; + }>; + relationships?: { + agentMembers?: { + links?: { + self?: string; + related?: string; + }; + }; + userMembers?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + agentId?: number; + agentName?: string; + uid?: string; + os?: number; + devices?: string; + cmdPars?: string; + ignoreErrors?: 0 | 1 | 2; + isActive?: boolean; + isTrusted?: boolean; + token?: string; + lastAct?: string; + lastTime?: number; + lastIp?: string; + userId?: number; + cpuOnly?: boolean; + clientSignature?: string; + }; + }>; +}; + +export type AccessGroupPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + groupName?: string; + }; + }>; +}; + +export type AccessGroupRelationAgentMembers = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type AccessGroupRelationAgentMembersGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type AgentPatch = { + data?: { + type?: string; + attributes?: { + agentName?: string; + cmdPars?: string; + cpuOnly?: boolean; + ignoreErrors?: 0 | 1 | 2; + isActive?: boolean; + isTrusted?: boolean; + os?: number; + uid?: string; + userId?: number; + }; + }; +}; + +export type AgentResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + agentName?: string; + uid?: string; + os?: number; + devices?: string; + cmdPars?: string; + ignoreErrors?: 0 | 1 | 2; + isActive?: boolean; + isTrusted?: boolean; + token?: string; + lastAct?: string; + lastTime?: number; + lastIp?: string; + userId?: number; + cpuOnly?: boolean; + clientSignature?: string; + }; + }>; + relationships?: { + accessGroups?: { + links?: { + self?: string; + related?: string; + }; + }; + agentErrors?: { + links?: { + self?: string; + related?: string; + }; + }; + agentStats?: { + links?: { + self?: string; + related?: string; + }; + }; + assignments?: { + links?: { + self?: string; + related?: string; + }; + }; + chunks?: { + links?: { + self?: string; + related?: string; + }; + }; + tasks?: { + links?: { + self?: string; + related?: string; + }; + }; + user?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + assignmentId?: number; + taskId?: number; + agentId?: number; + benchmark?: string; + }; + }>; +}; + +export type AgentPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + agentName?: string; + uid?: string; + os?: number; + devices?: string; + cmdPars?: string; + ignoreErrors?: 0 | 1 | 2; + isActive?: boolean; + isTrusted?: boolean; + token?: string; + lastAct?: string; + lastTime?: number; + lastIp?: string; + userId?: number; + cpuOnly?: boolean; + clientSignature?: string; + }; + }>; +}; + +export type AgentRelationAssignments = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type AgentRelationAssignmentsGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type AssignmentCreate = { + data?: { + type?: string; + attributes?: { + taskId?: number; + agentId?: number; + benchmark?: string; + }; + }; +}; + +export type AssignmentPatch = { + data?: { + type?: string; + attributes?: { + benchmark?: string; + }; + }; +}; + +export type AssignmentResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + taskId?: number; + agentId?: number; + benchmark?: string; + }; + }>; + relationships?: { + agent?: { + links?: { + self?: string; + related?: string; + }; + }; + task?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type AssignmentPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + taskId?: number; + agentId?: number; + benchmark?: string; + }; + }>; +}; + +export type AssignmentRelationTask = { + data?: { + type?: string; + id?: number; + }; +}; + +export type AssignmentRelationTaskGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type AgentBinaryCreate = { + data?: { + type?: string; + attributes?: { + binaryType?: string; + version?: string; + operatingSystems?: string; + filename?: string; + updateTrack?: string; + }; + }; +}; + +export type AgentBinaryPatch = { + data?: { + type?: string; + attributes?: { + binaryType?: string; + filename?: string; + operatingSystems?: string; + updateTrack?: string; + version?: string; + }; + }; +}; + +export type AgentBinaryResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + binaryType?: string; + version?: string; + operatingSystems?: string; + filename?: string; + updateTrack?: string; + updateAvailable?: string; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; +}; + +export type AgentBinaryPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + binaryType?: string; + version?: string; + operatingSystems?: string; + filename?: string; + updateTrack?: string; + updateAvailable?: string; + }; + }>; +}; + +export type AgentErrorResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + agentId?: number; + taskId?: number; + chunkId?: number; + time?: number; + error?: string; + }; + }>; + relationships?: { + task?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type AgentErrorRelationTask = { + data?: { + type?: string; + id?: number; + }; +}; + +export type AgentErrorRelationTaskGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type AgentStatResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + agentId?: number; + statType?: number; + time?: number; + value?: Array; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; +}; + +export type JwtApiKeyCreate = { + data?: { + type?: string; + attributes?: { + scopes?: Array; + startValid?: number; + endValid?: number; + userId?: number; + isRevoked?: boolean; + }; + }; +}; + +export type JwtApiKeyPatch = { + data?: { + type?: string; + attributes?: { + isRevoked?: boolean; + }; + }; +}; + +export type JwtApiKeyResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + startValid?: number; + endValid?: number; + userId?: number; + isRevoked?: boolean; + }; + }>; + relationships?: { + user?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + userId?: number; + name?: string; + email?: string; + passwordHash?: string; + passwordSalt?: string; + isValid?: boolean; + isComputedPassword?: boolean; + lastLoginDate?: number; + registeredSince?: number; + sessionLifetime?: number; + globalPermissionGroupId?: number; + yubikey?: string; + otp1?: string; + otp2?: string; + otp3?: string; + otp4?: string; + }; + }>; +}; + +export type JwtApiKeyPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + startValid?: number; + endValid?: number; + userId?: number; + isRevoked?: boolean; + }; + }>; +}; + +export type JwtApiKeyRelationUser = { + data?: { + type?: string; + id?: number; + }; +}; + +export type JwtApiKeyRelationUserGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type ChunkResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + taskId?: number; + skip?: number; + length?: number; + agentId?: number; + dispatchTime?: number; + solveTime?: number; + checkpoint?: number; + progress?: number; + state?: number; + cracked?: number; + speed?: number; + }; + }>; + relationships?: { + agent?: { + links?: { + self?: string; + related?: string; + }; + }; + task?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type ChunkRelationTask = { + data?: { + type?: string; + id?: number; + }; +}; + +export type ChunkRelationTaskGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type ConfigPatch = { + data?: { + type?: string; + attributes?: { + item?: string; + value?: string; + }; + }; +}; + +export type ConfigResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + configSectionId?: number; + item?: string; + value?: string; + }; + }>; + relationships?: { + configSection?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + configSectionId?: number; + sectionName?: string; + }; + }>; +}; + +export type ConfigPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + configSectionId?: number; + item?: string; + value?: string; + }; + }>; +}; + +export type ConfigRelationConfigSection = { + data?: { + type?: string; + id?: number; + }; +}; + +export type ConfigRelationConfigSectionGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type ConfigSectionResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + sectionName?: string; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; +}; + +export type CrackerBinaryCreate = { + data?: { + type?: string; + attributes?: { + crackerBinaryTypeId?: number; + version?: string; + downloadUrl?: string; + binaryName?: string; + }; + }; +}; + +export type CrackerBinaryPatch = { + data?: { + type?: string; + attributes?: { + binaryName?: string; + downloadUrl?: string; + version?: string; + }; + }; +}; + +export type CrackerBinaryResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + crackerBinaryTypeId?: number; + version?: string; + downloadUrl?: string; + binaryName?: string; + }; + }>; + relationships?: { + crackerBinaryType?: { + links?: { + self?: string; + related?: string; + }; + }; + tasks?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type CrackerBinaryPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + crackerBinaryTypeId?: number; + version?: string; + downloadUrl?: string; + binaryName?: string; + }; + }>; +}; + +export type CrackerBinaryRelationTasks = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type CrackerBinaryRelationTasksGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type CrackerBinaryTypeCreate = { + data?: { + type?: string; + attributes?: { + typeName?: string; + }; + }; +}; + +export type CrackerBinaryTypePatch = { + data?: { + type?: string; + attributes?: { + isChunkingAvailable?: boolean; + typeName?: string; + }; + }; +}; + +export type CrackerBinaryTypeResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + typeName?: string; + isChunkingAvailable?: boolean; + }; + }>; + relationships?: { + crackerVersions?: { + links?: { + self?: string; + related?: string; + }; + }; + tasks?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type CrackerBinaryTypePostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + typeName?: string; + isChunkingAvailable?: boolean; + }; + }>; +}; + +export type CrackerBinaryTypeRelationTasks = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type CrackerBinaryTypeRelationTasksGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type FileCreate = { + data?: { + type?: string; + attributes?: { + sourceType?: string; + sourceData?: string; + filename?: string; + isSecret?: boolean; + fileType?: number; + accessGroupId?: number; + }; + }; +}; + +export type FilePatch = { + data?: { + type?: string; + attributes?: { + accessGroupId?: number; + fileType?: number; + filename?: string; + isSecret?: boolean; + }; + }; +}; + +export type FileResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + filename?: string; + size?: number; + isSecret?: boolean; + fileType?: number; + accessGroupId?: number; + lineCount?: number; + }; + }>; + relationships?: { + accessGroup?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + accessGroupId?: number; + groupName?: string; + }; + }>; +}; + +export type FileSingleResponse = { + data?: Array<{ + id?: number; + type?: string; + attributes?: { + filename?: string; + size?: number; + isSecret?: boolean; + fileType?: number; + accessGroupId?: number; + lineCount?: number; + }; + }>; + relationships?: { + accessGroup?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + accessGroupId?: number; + groupName?: string; + }; + }>; +}; + +export type FilePostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + filename?: string; + size?: number; + isSecret?: boolean; + fileType?: number; + accessGroupId?: number; + lineCount?: number; + }; + }>; +}; + +export type FileRelationAccessGroup = { + data?: { + type?: string; + id?: number; + }; +}; + +export type FileRelationAccessGroupGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type RightGroupCreate = { + data?: { + type?: string; + attributes?: { + name?: string; + permissions?: { + [key: string]: unknown; + }; + }; + }; +}; + +export type RightGroupPatch = { + data?: { + type?: string; + attributes?: { + name?: string; + permissions?: { + [key: string]: unknown; + }; + }; + }; +}; + +export type RightGroupResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + name?: string; + permissions?: { + [key: string]: unknown; + }; + }; + }>; + relationships?: { + userMembers?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + userId?: number; + name?: string; + email?: string; + passwordHash?: string; + passwordSalt?: string; + isValid?: boolean; + isComputedPassword?: boolean; + lastLoginDate?: number; + registeredSince?: number; + sessionLifetime?: number; + globalPermissionGroupId?: number; + yubikey?: string; + otp1?: string; + otp2?: string; + otp3?: string; + otp4?: string; + }; + }>; +}; + +export type RightGroupPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + name?: string; + permissions?: { + [key: string]: unknown; + }; + }; + }>; +}; + +export type RightGroupRelationUserMembers = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type RightGroupRelationUserMembersGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type HashResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + hash?: string; + salt?: string; + plaintext?: string; + timeCracked?: number; + chunkId?: number; + isCracked?: boolean; + crackPos?: number; + }; + }>; + relationships?: { + chunk?: { + links?: { + self?: string; + related?: string; + }; + }; + hashlist?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistSeperator?: string; + sourceType?: string; + sourceData?: string; + hashlistId?: number; + name?: string; + format?: 0 | 1 | 2 | 3; + hashTypeId?: number; + hashCount?: number; + separator?: string; + cracked?: number; + isSecret?: boolean; + isHexSalt?: boolean; + isSalted?: boolean; + accessGroupId?: number; + notes?: string; + useBrain?: boolean; + brainFeatures?: number; + isArchived?: boolean; + }; + }>; +}; + +export type HashRelationHashlist = { + data?: { + type?: string; + id?: number; + }; +}; + +export type HashRelationHashlistGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type HashlistCreate = { + data?: { + type?: string; + attributes?: { + hashlistSeperator?: string; + sourceType?: string; + sourceData?: string; + name?: string; + format?: 0 | 1 | 2 | 3; + hashTypeId?: number; + hashCount?: number; + separator?: string; + isSecret?: boolean; + isHexSalt?: boolean; + isSalted?: boolean; + accessGroupId?: number; + notes?: string; + useBrain?: boolean; + brainFeatures?: number; + isArchived?: boolean; + }; + }; +}; + +export type HashlistPatch = { + data?: { + type?: string; + attributes?: { + accessGroupId?: number; + isArchived?: boolean; + isSecret?: boolean; + name?: string; + notes?: string; + }; + }; +}; + +export type HashlistResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + name?: string; + format?: 0 | 1 | 2 | 3; + hashTypeId?: number; + hashCount?: number; + separator?: string; + cracked?: number; + isSecret?: boolean; + isHexSalt?: boolean; + isSalted?: boolean; + accessGroupId?: number; + notes?: string; + useBrain?: boolean; + brainFeatures?: number; + isArchived?: boolean; + }; + }>; + relationships?: { + accessGroup?: { + links?: { + self?: string; + related?: string; + }; + }; + hashType?: { + links?: { + self?: string; + related?: string; + }; + }; + hashes?: { + links?: { + self?: string; + related?: string; + }; + }; + hashlists?: { + links?: { + self?: string; + related?: string; + }; + }; + tasks?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type HashlistSingleResponse = { + data?: Array<{ + id?: number; + type?: string; + attributes?: { + name?: string; + format?: 0 | 1 | 2 | 3; + hashTypeId?: number; + hashCount?: number; + separator?: string; + cracked?: number; + isSecret?: boolean; + isHexSalt?: boolean; + isSalted?: boolean; + accessGroupId?: number; + notes?: string; + useBrain?: boolean; + brainFeatures?: number; + isArchived?: boolean; + }; + }>; + relationships?: { + accessGroup?: { + links?: { + self?: string; + related?: string; + }; + }; + hashType?: { + links?: { + self?: string; + related?: string; + }; + }; + hashes?: { + links?: { + self?: string; + related?: string; + }; + }; + hashlists?: { + links?: { + self?: string; + related?: string; + }; + }; + tasks?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type HashlistPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + name?: string; + format?: 0 | 1 | 2 | 3; + hashTypeId?: number; + hashCount?: number; + separator?: string; + cracked?: number; + isSecret?: boolean; + isHexSalt?: boolean; + isSalted?: boolean; + accessGroupId?: number; + notes?: string; + useBrain?: boolean; + brainFeatures?: number; + isArchived?: boolean; + }; + }>; +}; + +export type HashlistRelationTasks = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type HashlistRelationTasksGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type HashTypeCreate = { + data?: { + type?: string; + attributes?: { + hashTypeId?: number; + description?: string; + isSalted?: boolean; + isSlowHash?: boolean; + }; + }; +}; + +export type HashTypePatch = { + data?: { + type?: string; + attributes?: { + description?: string; + isSalted?: boolean; + isSlowHash?: boolean; + }; + }; +}; + +export type HashTypeResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + description?: string; + isSalted?: boolean; + isSlowHash?: boolean; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; +}; + +export type HashTypePostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + description?: string; + isSalted?: boolean; + isSlowHash?: boolean; + }; + }>; +}; + +export type HealthCheckAgentResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + healthCheckId?: number; + agentId?: number; + status?: number; + cracked?: number; + numGpus?: number; + start?: number; + end?: number; + errors?: string; + }; + }>; + relationships?: { + agent?: { + links?: { + self?: string; + related?: string; + }; + }; + healthCheck?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + healthCheckId?: number; + time?: number; + status?: number; + checkType?: number; + hashtypeId?: number; + crackerBinaryId?: number; + expectedCracks?: number; + attackCmd?: string; + }; + }>; +}; + +export type HealthCheckAgentRelationHealthCheck = { + data?: { + type?: string; + id?: number; + }; +}; + +export type HealthCheckAgentRelationHealthCheckGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type HealthCheckCreate = { + data?: { + type?: string; + attributes?: { + checkType?: number; + hashtypeId?: number; + crackerBinaryId?: number; + }; + }; +}; + +export type HealthCheckPatch = { + data?: { + type?: string; + attributes?: { + checkType?: number; + }; + }; +}; + +export type HealthCheckResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + time?: number; + status?: number; + checkType?: number; + hashtypeId?: number; + crackerBinaryId?: number; + expectedCracks?: number; + attackCmd?: string; + }; + }>; + relationships?: { + crackerBinary?: { + links?: { + self?: string; + related?: string; + }; + }; + hashType?: { + links?: { + self?: string; + related?: string; + }; + }; + healthCheckAgents?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + healthCheckAgentId?: number; + healthCheckId?: number; + agentId?: number; + status?: number; + cracked?: number; + numGpus?: number; + start?: number; + end?: number; + errors?: string; + }; + }>; +}; + +export type HealthCheckPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + time?: number; + status?: number; + checkType?: number; + hashtypeId?: number; + crackerBinaryId?: number; + expectedCracks?: number; + attackCmd?: string; + }; + }>; +}; + +export type HealthCheckRelationHealthCheckAgents = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type HealthCheckRelationHealthCheckAgentsGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type LogEntryCreate = { + data?: { + type?: string; + attributes?: { + [key: string]: unknown; + }; + }; +}; + +export type LogEntryPatch = { + data?: { + type?: string; + attributes?: { + [key: string]: unknown; + }; + }; +}; + +export type LogEntryResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + issuer?: string; + issuerId?: string; + level?: string; + message?: string; + time?: number; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; +}; + +export type LogEntryPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + issuer?: string; + issuerId?: string; + level?: string; + message?: string; + time?: number; + }; + }>; +}; + +export type NotificationSettingCreate = { + data?: { + type?: string; + attributes?: { + actionFilter?: string; + action?: string; + notification?: string; + receiver?: string; + }; + }; +}; + +export type NotificationSettingPatch = { + data?: { + type?: string; + attributes?: { + action?: string; + isActive?: boolean; + notification?: string; + receiver?: string; + }; + }; +}; + +export type NotificationSettingResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + action?: string; + objectId?: number; + notification?: string; + userId?: number; + receiver?: string; + isActive?: boolean; + }; + }>; + relationships?: { + user?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + userId?: number; + name?: string; + email?: string; + passwordHash?: string; + passwordSalt?: string; + isValid?: boolean; + isComputedPassword?: boolean; + lastLoginDate?: number; + registeredSince?: number; + sessionLifetime?: number; + globalPermissionGroupId?: number; + yubikey?: string; + otp1?: string; + otp2?: string; + otp3?: string; + otp4?: string; + }; + }>; +}; + +export type NotificationSettingPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + action?: string; + objectId?: number; + notification?: string; + userId?: number; + receiver?: string; + isActive?: boolean; + }; + }>; +}; + +export type NotificationSettingRelationUser = { + data?: { + type?: string; + id?: number; + }; +}; + +export type NotificationSettingRelationUserGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type PreprocessorCreate = { + data?: { + type?: string; + attributes?: { + name?: string; + url?: string; + binaryName?: string; + keyspaceCommand?: string; + skipCommand?: string; + limitCommand?: string; + }; + }; +}; + +export type PreprocessorPatch = { + data?: { + type?: string; + attributes?: { + binaryName?: string; + keyspaceCommand?: string; + limitCommand?: string; + name?: string; + skipCommand?: string; + url?: string; + }; + }; +}; + +export type PreprocessorResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + name?: string; + url?: string; + binaryName?: string; + keyspaceCommand?: string; + skipCommand?: string; + limitCommand?: string; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; +}; + +export type PreprocessorPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + name?: string; + url?: string; + binaryName?: string; + keyspaceCommand?: string; + skipCommand?: string; + limitCommand?: string; + }; + }>; +}; + +export type PretaskCreate = { + data?: { + type?: string; + attributes?: { + files?: Array; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + priority?: number; + maxAgents?: number; + isMaskImport?: boolean; + crackerBinaryTypeId?: number; + }; + }; +}; + +export type PretaskPatch = { + data?: { + type?: string; + attributes?: { + attackCmd?: string; + chunkTime?: number; + color?: string; + crackerBinaryTypeId?: number; + isCpuTask?: boolean; + isMaskImport?: boolean; + isSmall?: boolean; + maxAgents?: number; + priority?: number; + statusTimer?: number; + taskName?: string; + }; + }; +}; + +export type PretaskResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + priority?: number; + maxAgents?: number; + isMaskImport?: boolean; + crackerBinaryTypeId?: number; + }; + }>; + relationships?: { + pretaskFiles?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + sourceType?: string; + sourceData?: string; + fileId?: number; + filename?: string; + size?: number; + isSecret?: boolean; + fileType?: number; + accessGroupId?: number; + lineCount?: number; + }; + }>; +}; + +export type PretaskPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + priority?: number; + maxAgents?: number; + isMaskImport?: boolean; + crackerBinaryTypeId?: number; + }; + }>; +}; + +export type PretaskRelationPretaskFiles = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type PretaskRelationPretaskFilesGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type SpeedResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + agentId?: number; + taskId?: number; + speed?: number; + time?: number; + }; + }>; + relationships?: { + agent?: { + links?: { + self?: string; + related?: string; + }; + }; + task?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type SpeedRelationTask = { + data?: { + type?: string; + id?: number; + }; +}; + +export type SpeedRelationTaskGetResponse = { + data?: { + type?: string; + id?: number; + }; +}; + +export type SupertaskCreate = { + data?: { + type?: string; + attributes?: { + pretasks?: Array; + supertaskName?: string; + }; + }; +}; + +export type SupertaskPatch = { + data?: { + type?: string; + attributes?: { + supertaskName?: string; + }; + }; +}; + +export type SupertaskResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + supertaskName?: string; + }; + }>; + relationships?: { + pretasks?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + files?: Array; + pretaskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + priority?: number; + maxAgents?: number; + isMaskImport?: boolean; + crackerBinaryTypeId?: number; + }; + }>; +}; + +export type SupertaskSingleResponse = { + data?: Array<{ + id?: number; + type?: string; + attributes?: { + supertaskName?: string; + }; + }>; + relationships?: { + pretasks?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + files?: Array; + pretaskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + priority?: number; + maxAgents?: number; + isMaskImport?: boolean; + crackerBinaryTypeId?: number; + }; + }>; +}; + +export type SupertaskPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + supertaskName?: string; + }; + }>; +}; + +export type SupertaskRelationPretasks = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type SupertaskRelationPretasksGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type TaskCreate = { + data?: { + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }; +}; + +export type TaskPatch = { + data?: { + type?: string; + attributes?: { + attackCmd?: string; + chunkTime?: number; + color?: string; + isArchived?: boolean; + isCpuTask?: boolean; + isSmall?: boolean; + maxAgents?: number; + notes?: string; + priority?: number; + statusTimer?: number; + taskName?: string; + }; + }; +}; + +export type TaskResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; + relationships?: { + assignedAgents?: { + links?: { + self?: string; + related?: string; + }; + }; + crackerBinary?: { + links?: { + self?: string; + related?: string; + }; + }; + crackerBinaryType?: { + links?: { + self?: string; + related?: string; + }; + }; + files?: { + links?: { + self?: string; + related?: string; + }; + }; + hashlist?: { + links?: { + self?: string; + related?: string; + }; + }; + speeds?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + speedId?: number; + agentId?: number; + taskId?: number; + speed?: number; + time?: number; + }; + }>; +}; + +export type TaskPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type TaskRelationSpeeds = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type TaskRelationSpeedsGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type TaskWrapperPatch = { + data?: { + type?: string; + attributes?: { + accessGroupId?: number; + isArchived?: boolean; + maxAgents?: number; + priority?: number; + taskWrapperName?: string; + }; + }; +}; + +export type TaskWrapperResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + priority?: number; + maxAgents?: number; + taskType?: 0 | 1; + hashlistId?: number; + accessGroupId?: number; + taskWrapperName?: string; + isArchived?: boolean; + cracked?: number; + }; + }>; + relationships?: { + accessGroup?: { + links?: { + self?: string; + related?: string; + }; + }; + hashType?: { + links?: { + self?: string; + related?: string; + }; + }; + hashlist?: { + links?: { + self?: string; + related?: string; + }; + }; + task?: { + links?: { + self?: string; + related?: string; + }; + }; + tasks?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type TaskWrapperSingleResponse = { + data?: Array<{ + id?: number; + type?: string; + attributes?: { + priority?: number; + maxAgents?: number; + taskType?: 0 | 1; + hashlistId?: number; + accessGroupId?: number; + taskWrapperName?: string; + isArchived?: boolean; + cracked?: number; + }; + }>; + relationships?: { + accessGroup?: { + links?: { + self?: string; + related?: string; + }; + }; + hashType?: { + links?: { + self?: string; + related?: string; + }; + }; + hashlist?: { + links?: { + self?: string; + related?: string; + }; + }; + task?: { + links?: { + self?: string; + related?: string; + }; + }; + tasks?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type TaskWrapperPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + priority?: number; + maxAgents?: number; + taskType?: 0 | 1; + hashlistId?: number; + accessGroupId?: number; + taskWrapperName?: string; + isArchived?: boolean; + cracked?: number; + }; + }>; +}; + +export type TaskWrapperRelationTasks = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type TaskWrapperRelationTasksGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type UserCreate = { + data?: { + type?: string; + attributes?: { + name?: string; + email?: string; + globalPermissionGroupId?: number; + }; + }; +}; + +export type UserPatch = { + data?: { + type?: string; + attributes?: { + email?: string; + globalPermissionGroupId?: number; + isValid?: boolean; + sessionLifetime?: number; + }; + }; +}; + +export type UserResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + name?: string; + email?: string; + passwordHash?: string; + passwordSalt?: string; + isValid?: boolean; + isComputedPassword?: boolean; + lastLoginDate?: number; + registeredSince?: number; + sessionLifetime?: number; + globalPermissionGroupId?: number; + yubikey?: string; + otp1?: string; + otp2?: string; + otp3?: string; + otp4?: string; + }; + }>; + relationships?: { + accessGroups?: { + links?: { + self?: string; + related?: string; + }; + }; + globalPermissionGroup?: { + links?: { + self?: string; + related?: string; + }; + }; + }; + included?: Array<{ + id?: number; + type?: string; + attributes?: { + accessGroupId?: number; + groupName?: string; + }; + }>; +}; + +export type UserPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + name?: string; + email?: string; + passwordHash?: string; + passwordSalt?: string; + isValid?: boolean; + isComputedPassword?: boolean; + lastLoginDate?: number; + registeredSince?: number; + sessionLifetime?: number; + globalPermissionGroupId?: number; + yubikey?: string; + otp1?: string; + otp2?: string; + otp3?: string; + otp4?: string; + }; + }>; +}; + +export type UserRelationAccessGroups = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type UserRelationAccessGroupsGetResponse = { + data?: Array<{ + type?: string; + id?: number; + }>; +}; + +export type RegVoucherCreate = { + data?: { + type?: string; + attributes?: { + voucher?: string; + }; + }; +}; + +export type RegVoucherPatch = { + data?: { + type?: string; + attributes?: { + voucher?: string; + }; + }; +}; + +export type RegVoucherResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + links?: { + self?: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + voucher?: string; + time?: number; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; +}; + +export type RegVoucherPostPatchResponse = { + jsonapi?: { + version?: string; + ext?: string; + }; + data?: Array<{ + id?: number; + type?: string; + attributes?: { + voucher?: string; + time?: number; + }; + }>; +}; + +export type AbortChunkHelperApi = { + chunkId?: number; +}; + +export type AbortChunkHelperApiResponse = Array<{ + Abort?: string; +}>; + +export type AssignAgentHelperApi = { + agentId?: number; + taskId?: number; +}; + +export type AssignAgentHelperApiResponse = Array<{ + Assign?: string; +}>; + +export type BulkSupertaskBuilderHelperApi = { + name?: string; + isCpu?: boolean; + isSmall?: boolean; + crackerBinaryTypeId?: number; + benchtype?: string; + command?: string; + maxAgents?: number; + basefiles?: Array; + iterfiles?: Array; +}; + +export type ChangeOwnPasswordHelperApi = { + oldPassword?: string; + newPassword?: string; + confirmPassword?: string; +}; + +export type ChangeOwnPasswordHelperApiResponse = Array<{ + 'Change password'?: string; +}>; + +export type CreateSuperHashlistHelperApi = { + hashlistIds?: Array; + name?: string; +}; + +export type CreateSupertaskHelperApi = { + supertaskTemplateId?: number; + hashlistId?: number; + crackerVersionId?: number; +}; + +export type ExportCrackedHashesHelperApi = { + hashlistId?: number; +}; + +export type ExportLeftHashesHelperApi = { + hashlistId?: number; +}; + +export type ExportWordlistHelperApi = { + hashlistId?: number; +}; + +export type ImportCrackedHashesHelperApi = { + hashlistId?: number; + sourceType?: string; + sourceData?: string; + separator?: string; + overwrite?: number; +}; + +export type ImportCrackedHashesHelperApiResponse = Array<{ + totalLines?: number; + newCracked?: number; + alreadyCracked?: number; + invalid?: number; + notFound?: number; + processTime?: number; + tooLongPlaintexts?: number; +}>; + +export type ImportFileHelperApi = { + [key: string]: unknown; +}; + +export type MaskSupertaskBuilderHelperApi = { + name?: string; + isCpu?: boolean; + isSmall?: boolean; + optimized?: boolean; + crackerBinaryTypeId?: number; + benchtype?: string; + masks?: string; + maxAgents?: number; +}; + +export type PurgeTaskHelperApi = { + taskId?: number; +}; + +export type PurgeTaskHelperApiResponse = Array<{ + Purge?: string; +}>; + +export type RebuildChunkCacheHelperApi = { + [key: string]: unknown; +}; + +export type RebuildChunkCacheHelperApiResponse = Array<{ + Rebuild?: string; +}>; + +export type RecountFileLinesHelperApi = { + fileId?: number; +}; + +export type RescanGlobalFilesHelperApi = { + [key: string]: unknown; +}; + +export type RescanGlobalFilesHelperApiResponse = Array<{ + Rescan?: string; +}>; + +export type ResetChunkHelperApi = { + chunkId?: number; +}; + +export type ResetChunkHelperApiResponse = Array<{ + Reset?: string; +}>; + +export type ResetUserPasswordHelperApi = { + email?: string; + username?: string; +}; + +export type ResetUserPasswordHelperApiResponse = Array<{ + Reset?: string; +}>; + +export type SearchHashesHelperApi = { + searchData?: string; + separator?: string; + isSalted?: boolean; +}; + +export type SearchHashesHelperApiResponse = Array<{ + 0?: { + [key: string]: unknown; + }; + 1?: { + [key: string]: unknown; + }; +}>; + +export type SetUserPasswordHelperApi = { + userId?: number; + password?: string; +}; + +export type SetUserPasswordHelperApiResponse = Array<{ + 'Set password'?: string; +}>; + +export type UnassignAgentHelperApi = { + agentId?: number; +}; + +export type UnassignAgentHelperApiResponse = Array<{ + Unassign?: string; +}>; + +export type Token = { + token?: string; + expires?: number; +}; + +export type TokenRequest = Array; + +export type DeleteAccessgroupsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/accessgroups'; +}; + +export type DeleteAccessgroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteAccessgroupsError = DeleteAccessgroupsErrors[keyof DeleteAccessgroupsErrors]; + +export type DeleteAccessgroupsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetAccessgroupsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: userMembers,agentMembers + */ + include?: string; + }; + url: '/api/v2/ui/accessgroups'; +}; + +export type GetAccessgroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAccessgroupsError = GetAccessgroupsErrors[keyof GetAccessgroupsErrors]; + +export type GetAccessgroupsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAccessgroupsResponse = GetAccessgroupsResponses[keyof GetAccessgroupsResponses]; + +export type PatchAccessgroupsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/accessgroups'; +}; + +export type PatchAccessgroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchAccessgroupsError = PatchAccessgroupsErrors[keyof PatchAccessgroupsErrors]; + +export type PatchAccessgroupsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostAccessgroupsData = { + body: AccessGroupCreate; + path?: never; + query?: never; + url: '/api/v2/ui/accessgroups'; +}; + +export type PostAccessgroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostAccessgroupsError = PostAccessgroupsErrors[keyof PostAccessgroupsErrors]; + +export type PostAccessgroupsResponses = { + /** + * successful operation + */ + 201: AccessGroupPostPatchResponse; +}; + +export type PostAccessgroupsResponse = PostAccessgroupsResponses[keyof PostAccessgroupsResponses]; + +export type GetAccessgroupsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: userMembers,agentMembers + */ + include?: string; + }; + url: '/api/v2/ui/accessgroups/count'; +}; + +export type GetAccessgroupsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAccessgroupsCountError = GetAccessgroupsCountErrors[keyof GetAccessgroupsCountErrors]; + +export type GetAccessgroupsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAccessgroupsCountResponse = GetAccessgroupsCountResponses[keyof GetAccessgroupsCountResponses]; + +export type GetAccessgroupsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/{relation}'; +}; + +export type GetAccessgroupsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAccessgroupsByIdByRelationError = GetAccessgroupsByIdByRelationErrors[keyof GetAccessgroupsByIdByRelationErrors]; + +export type GetAccessgroupsByIdByRelationResponses = { + /** + * successful operation + */ + 200: AccessGroupRelationAgentMembersGetResponse; +}; + +export type GetAccessgroupsByIdByRelationResponse = GetAccessgroupsByIdByRelationResponses[keyof GetAccessgroupsByIdByRelationResponses]; + +export type DeleteAccessgroupsByIdRelationshipsByRelationData = { + body: AccessGroupRelationAgentMembers; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; +}; + +export type DeleteAccessgroupsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAccessgroupsByIdRelationshipsByRelationError = DeleteAccessgroupsByIdRelationshipsByRelationErrors[keyof DeleteAccessgroupsByIdRelationshipsByRelationErrors]; + +export type DeleteAccessgroupsByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteAccessgroupsByIdRelationshipsByRelationResponse = DeleteAccessgroupsByIdRelationshipsByRelationResponses[keyof DeleteAccessgroupsByIdRelationshipsByRelationResponses]; + +export type GetAccessgroupsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; +}; + +export type GetAccessgroupsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAccessgroupsByIdRelationshipsByRelationError = GetAccessgroupsByIdRelationshipsByRelationErrors[keyof GetAccessgroupsByIdRelationshipsByRelationErrors]; + +export type GetAccessgroupsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: AccessGroupResponse; +}; + +export type GetAccessgroupsByIdRelationshipsByRelationResponse = GetAccessgroupsByIdRelationshipsByRelationResponses[keyof GetAccessgroupsByIdRelationshipsByRelationResponses]; + +export type PatchAccessgroupsByIdRelationshipsByRelationData = { + body: AccessGroupRelationAgentMembers; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; +}; + +export type PatchAccessgroupsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAccessgroupsByIdRelationshipsByRelationError = PatchAccessgroupsByIdRelationshipsByRelationErrors[keyof PatchAccessgroupsByIdRelationshipsByRelationErrors]; + +export type PatchAccessgroupsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchAccessgroupsByIdRelationshipsByRelationResponse = PatchAccessgroupsByIdRelationshipsByRelationResponses[keyof PatchAccessgroupsByIdRelationshipsByRelationResponses]; + +export type PostAccessgroupsByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; +}; + +export type PostAccessgroupsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostAccessgroupsByIdRelationshipsByRelationError = PostAccessgroupsByIdRelationshipsByRelationErrors[keyof PostAccessgroupsByIdRelationshipsByRelationErrors]; + +export type PostAccessgroupsByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostAccessgroupsByIdRelationshipsByRelationResponse = PostAccessgroupsByIdRelationshipsByRelationResponses[keyof PostAccessgroupsByIdRelationshipsByRelationResponses]; + +export type DeleteAccessgroupsByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}'; +}; + +export type DeleteAccessgroupsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAccessgroupsByIdError = DeleteAccessgroupsByIdErrors[keyof DeleteAccessgroupsByIdErrors]; + +export type DeleteAccessgroupsByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteAccessgroupsByIdResponse = DeleteAccessgroupsByIdResponses[keyof DeleteAccessgroupsByIdResponses]; + +export type GetAccessgroupsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/accessgroups/{id}'; +}; + +export type GetAccessgroupsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAccessgroupsByIdError = GetAccessgroupsByIdErrors[keyof GetAccessgroupsByIdErrors]; + +export type GetAccessgroupsByIdResponses = { + /** + * successful operation + */ + 200: AccessGroupResponse; +}; + +export type GetAccessgroupsByIdResponse = GetAccessgroupsByIdResponses[keyof GetAccessgroupsByIdResponses]; + +export type PatchAccessgroupsByIdData = { + body: AccessGroupPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}'; +}; + +export type PatchAccessgroupsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAccessgroupsByIdError = PatchAccessgroupsByIdErrors[keyof PatchAccessgroupsByIdErrors]; + +export type PatchAccessgroupsByIdResponses = { + /** + * successful operation + */ + 200: AccessGroupPostPatchResponse; +}; + +export type PatchAccessgroupsByIdResponse = PatchAccessgroupsByIdResponses[keyof PatchAccessgroupsByIdResponses]; + +export type DeleteAgentsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agents'; +}; + +export type DeleteAgentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteAgentsError = DeleteAgentsErrors[keyof DeleteAgentsErrors]; + +export type DeleteAgentsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetAgentsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments + */ + include?: string; + }; + url: '/api/v2/ui/agents'; +}; + +export type GetAgentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgentsError = GetAgentsErrors[keyof GetAgentsErrors]; + +export type GetAgentsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgentsResponse = GetAgentsResponses[keyof GetAgentsResponses]; + +export type PatchAgentsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agents'; +}; + +export type PatchAgentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchAgentsError = PatchAgentsErrors[keyof PatchAgentsErrors]; + +export type PatchAgentsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetAgentsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments + */ + include?: string; + }; + url: '/api/v2/ui/agents/count'; +}; + +export type GetAgentsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgentsCountError = GetAgentsCountErrors[keyof GetAgentsCountErrors]; + +export type GetAgentsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgentsCountResponse = GetAgentsCountResponses[keyof GetAgentsCountResponses]; + +export type GetAgentsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/{relation}'; +}; + +export type GetAgentsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentsByIdByRelationError = GetAgentsByIdByRelationErrors[keyof GetAgentsByIdByRelationErrors]; + +export type GetAgentsByIdByRelationResponses = { + /** + * successful operation + */ + 200: AgentRelationAssignmentsGetResponse; +}; + +export type GetAgentsByIdByRelationResponse = GetAgentsByIdByRelationResponses[keyof GetAgentsByIdByRelationResponses]; + +export type DeleteAgentsByIdRelationshipsByRelationData = { + body: AgentRelationAssignments; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/relationships/{relation}'; +}; + +export type DeleteAgentsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAgentsByIdRelationshipsByRelationError = DeleteAgentsByIdRelationshipsByRelationErrors[keyof DeleteAgentsByIdRelationshipsByRelationErrors]; + +export type DeleteAgentsByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteAgentsByIdRelationshipsByRelationResponse = DeleteAgentsByIdRelationshipsByRelationResponses[keyof DeleteAgentsByIdRelationshipsByRelationResponses]; + +export type GetAgentsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/relationships/{relation}'; +}; + +export type GetAgentsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentsByIdRelationshipsByRelationError = GetAgentsByIdRelationshipsByRelationErrors[keyof GetAgentsByIdRelationshipsByRelationErrors]; + +export type GetAgentsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: AgentResponse; +}; + +export type GetAgentsByIdRelationshipsByRelationResponse = GetAgentsByIdRelationshipsByRelationResponses[keyof GetAgentsByIdRelationshipsByRelationResponses]; + +export type PatchAgentsByIdRelationshipsByRelationData = { + body: AgentRelationAssignments; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/relationships/{relation}'; +}; + +export type PatchAgentsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAgentsByIdRelationshipsByRelationError = PatchAgentsByIdRelationshipsByRelationErrors[keyof PatchAgentsByIdRelationshipsByRelationErrors]; + +export type PatchAgentsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchAgentsByIdRelationshipsByRelationResponse = PatchAgentsByIdRelationshipsByRelationResponses[keyof PatchAgentsByIdRelationshipsByRelationResponses]; + +export type PostAgentsByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/relationships/{relation}'; +}; + +export type PostAgentsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostAgentsByIdRelationshipsByRelationError = PostAgentsByIdRelationshipsByRelationErrors[keyof PostAgentsByIdRelationshipsByRelationErrors]; + +export type PostAgentsByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostAgentsByIdRelationshipsByRelationResponse = PostAgentsByIdRelationshipsByRelationResponses[keyof PostAgentsByIdRelationshipsByRelationResponses]; + +export type DeleteAgentsByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agents/{id}'; +}; + +export type DeleteAgentsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAgentsByIdError = DeleteAgentsByIdErrors[keyof DeleteAgentsByIdErrors]; + +export type DeleteAgentsByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteAgentsByIdResponse = DeleteAgentsByIdResponses[keyof DeleteAgentsByIdResponses]; + +export type GetAgentsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agents/{id}'; +}; + +export type GetAgentsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentsByIdError = GetAgentsByIdErrors[keyof GetAgentsByIdErrors]; + +export type GetAgentsByIdResponses = { + /** + * successful operation + */ + 200: AgentResponse; +}; + +export type GetAgentsByIdResponse = GetAgentsByIdResponses[keyof GetAgentsByIdResponses]; + +export type PatchAgentsByIdData = { + body: AgentPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agents/{id}'; +}; + +export type PatchAgentsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAgentsByIdError = PatchAgentsByIdErrors[keyof PatchAgentsByIdErrors]; + +export type PatchAgentsByIdResponses = { + /** + * successful operation + */ + 200: AgentPostPatchResponse; +}; + +export type PatchAgentsByIdResponse = PatchAgentsByIdResponses[keyof PatchAgentsByIdResponses]; + +export type DeleteAgentassignmentsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentassignments'; +}; + +export type DeleteAgentassignmentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteAgentassignmentsError = DeleteAgentassignmentsErrors[keyof DeleteAgentassignmentsErrors]; + +export type DeleteAgentassignmentsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetAgentassignmentsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: agent,task + */ + include?: string; + }; + url: '/api/v2/ui/agentassignments'; +}; + +export type GetAgentassignmentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgentassignmentsError = GetAgentassignmentsErrors[keyof GetAgentassignmentsErrors]; + +export type GetAgentassignmentsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgentassignmentsResponse = GetAgentassignmentsResponses[keyof GetAgentassignmentsResponses]; + +export type PatchAgentassignmentsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentassignments'; +}; + +export type PatchAgentassignmentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchAgentassignmentsError = PatchAgentassignmentsErrors[keyof PatchAgentassignmentsErrors]; + +export type PatchAgentassignmentsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostAgentassignmentsData = { + body: AssignmentCreate; + path?: never; + query?: never; + url: '/api/v2/ui/agentassignments'; +}; + +export type PostAgentassignmentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostAgentassignmentsError = PostAgentassignmentsErrors[keyof PostAgentassignmentsErrors]; + +export type PostAgentassignmentsResponses = { + /** + * successful operation + */ + 201: AssignmentPostPatchResponse; +}; + +export type PostAgentassignmentsResponse = PostAgentassignmentsResponses[keyof PostAgentassignmentsResponses]; + +export type GetAgentassignmentsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: agent,task + */ + include?: string; + }; + url: '/api/v2/ui/agentassignments/count'; +}; + +export type GetAgentassignmentsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgentassignmentsCountError = GetAgentassignmentsCountErrors[keyof GetAgentassignmentsCountErrors]; + +export type GetAgentassignmentsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgentassignmentsCountResponse = GetAgentassignmentsCountResponses[keyof GetAgentassignmentsCountResponses]; + +export type GetAgentassignmentsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}/{relation}'; +}; + +export type GetAgentassignmentsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentassignmentsByIdByRelationError = GetAgentassignmentsByIdByRelationErrors[keyof GetAgentassignmentsByIdByRelationErrors]; + +export type GetAgentassignmentsByIdByRelationResponses = { + /** + * successful operation + */ + 200: AssignmentRelationTaskGetResponse; +}; + +export type GetAgentassignmentsByIdByRelationResponse = GetAgentassignmentsByIdByRelationResponses[keyof GetAgentassignmentsByIdByRelationResponses]; + +export type GetAgentassignmentsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}/relationships/{relation}'; +}; + +export type GetAgentassignmentsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentassignmentsByIdRelationshipsByRelationError = GetAgentassignmentsByIdRelationshipsByRelationErrors[keyof GetAgentassignmentsByIdRelationshipsByRelationErrors]; + +export type GetAgentassignmentsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: AssignmentResponse; +}; + +export type GetAgentassignmentsByIdRelationshipsByRelationResponse = GetAgentassignmentsByIdRelationshipsByRelationResponses[keyof GetAgentassignmentsByIdRelationshipsByRelationResponses]; + +export type PatchAgentassignmentsByIdRelationshipsByRelationData = { + body: AssignmentRelationTask; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}/relationships/{relation}'; +}; + +export type PatchAgentassignmentsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAgentassignmentsByIdRelationshipsByRelationError = PatchAgentassignmentsByIdRelationshipsByRelationErrors[keyof PatchAgentassignmentsByIdRelationshipsByRelationErrors]; + +export type PatchAgentassignmentsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchAgentassignmentsByIdRelationshipsByRelationResponse = PatchAgentassignmentsByIdRelationshipsByRelationResponses[keyof PatchAgentassignmentsByIdRelationshipsByRelationResponses]; + +export type DeleteAgentassignmentsByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}'; +}; + +export type DeleteAgentassignmentsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAgentassignmentsByIdError = DeleteAgentassignmentsByIdErrors[keyof DeleteAgentassignmentsByIdErrors]; + +export type DeleteAgentassignmentsByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteAgentassignmentsByIdResponse = DeleteAgentassignmentsByIdResponses[keyof DeleteAgentassignmentsByIdResponses]; + +export type GetAgentassignmentsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agentassignments/{id}'; +}; + +export type GetAgentassignmentsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentassignmentsByIdError = GetAgentassignmentsByIdErrors[keyof GetAgentassignmentsByIdErrors]; + +export type GetAgentassignmentsByIdResponses = { + /** + * successful operation + */ + 200: AssignmentResponse; +}; + +export type GetAgentassignmentsByIdResponse = GetAgentassignmentsByIdResponses[keyof GetAgentassignmentsByIdResponses]; + +export type PatchAgentassignmentsByIdData = { + body: AssignmentPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}'; +}; + +export type PatchAgentassignmentsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAgentassignmentsByIdError = PatchAgentassignmentsByIdErrors[keyof PatchAgentassignmentsByIdErrors]; + +export type PatchAgentassignmentsByIdResponses = { + /** + * successful operation + */ + 200: AssignmentPostPatchResponse; +}; + +export type PatchAgentassignmentsByIdResponse = PatchAgentassignmentsByIdResponses[keyof PatchAgentassignmentsByIdResponses]; + +export type DeleteAgentbinariesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentbinaries'; +}; + +export type DeleteAgentbinariesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteAgentbinariesError = DeleteAgentbinariesErrors[keyof DeleteAgentbinariesErrors]; + +export type DeleteAgentbinariesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetAgentbinariesData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/agentbinaries'; +}; + +export type GetAgentbinariesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgentbinariesError = GetAgentbinariesErrors[keyof GetAgentbinariesErrors]; + +export type GetAgentbinariesResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgentbinariesResponse = GetAgentbinariesResponses[keyof GetAgentbinariesResponses]; + +export type PatchAgentbinariesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentbinaries'; +}; + +export type PatchAgentbinariesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchAgentbinariesError = PatchAgentbinariesErrors[keyof PatchAgentbinariesErrors]; + +export type PatchAgentbinariesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostAgentbinariesData = { + body: AgentBinaryCreate; + path?: never; + query?: never; + url: '/api/v2/ui/agentbinaries'; +}; + +export type PostAgentbinariesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostAgentbinariesError = PostAgentbinariesErrors[keyof PostAgentbinariesErrors]; + +export type PostAgentbinariesResponses = { + /** + * successful operation + */ + 201: AgentBinaryPostPatchResponse; +}; + +export type PostAgentbinariesResponse = PostAgentbinariesResponses[keyof PostAgentbinariesResponses]; + +export type GetAgentbinariesCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/agentbinaries/count'; +}; + +export type GetAgentbinariesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgentbinariesCountError = GetAgentbinariesCountErrors[keyof GetAgentbinariesCountErrors]; + +export type GetAgentbinariesCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgentbinariesCountResponse = GetAgentbinariesCountResponses[keyof GetAgentbinariesCountResponses]; + +export type DeleteAgentbinariesByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentbinaries/{id}'; +}; + +export type DeleteAgentbinariesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAgentbinariesByIdError = DeleteAgentbinariesByIdErrors[keyof DeleteAgentbinariesByIdErrors]; + +export type DeleteAgentbinariesByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteAgentbinariesByIdResponse = DeleteAgentbinariesByIdResponses[keyof DeleteAgentbinariesByIdResponses]; + +export type GetAgentbinariesByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agentbinaries/{id}'; +}; + +export type GetAgentbinariesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentbinariesByIdError = GetAgentbinariesByIdErrors[keyof GetAgentbinariesByIdErrors]; + +export type GetAgentbinariesByIdResponses = { + /** + * successful operation + */ + 200: AgentBinaryResponse; +}; + +export type GetAgentbinariesByIdResponse = GetAgentbinariesByIdResponses[keyof GetAgentbinariesByIdResponses]; + +export type PatchAgentbinariesByIdData = { + body: AgentBinaryPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentbinaries/{id}'; +}; + +export type PatchAgentbinariesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAgentbinariesByIdError = PatchAgentbinariesByIdErrors[keyof PatchAgentbinariesByIdErrors]; + +export type PatchAgentbinariesByIdResponses = { + /** + * successful operation + */ + 200: AgentBinaryPostPatchResponse; +}; + +export type PatchAgentbinariesByIdResponse = PatchAgentbinariesByIdResponses[keyof PatchAgentbinariesByIdResponses]; + +export type DeleteAgenterrorsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agenterrors'; +}; + +export type DeleteAgenterrorsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteAgenterrorsError = DeleteAgenterrorsErrors[keyof DeleteAgenterrorsErrors]; + +export type DeleteAgenterrorsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetAgenterrorsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: task + */ + include?: string; + }; + url: '/api/v2/ui/agenterrors'; +}; + +export type GetAgenterrorsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgenterrorsError = GetAgenterrorsErrors[keyof GetAgenterrorsErrors]; + +export type GetAgenterrorsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgenterrorsResponse = GetAgenterrorsResponses[keyof GetAgenterrorsResponses]; + +export type GetAgenterrorsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: task + */ + include?: string; + }; + url: '/api/v2/ui/agenterrors/count'; +}; + +export type GetAgenterrorsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgenterrorsCountError = GetAgenterrorsCountErrors[keyof GetAgenterrorsCountErrors]; + +export type GetAgenterrorsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgenterrorsCountResponse = GetAgenterrorsCountResponses[keyof GetAgenterrorsCountResponses]; + +export type GetAgenterrorsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agenterrors/{id}/{relation}'; +}; + +export type GetAgenterrorsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgenterrorsByIdByRelationError = GetAgenterrorsByIdByRelationErrors[keyof GetAgenterrorsByIdByRelationErrors]; + +export type GetAgenterrorsByIdByRelationResponses = { + /** + * successful operation + */ + 200: AgentErrorRelationTaskGetResponse; +}; + +export type GetAgenterrorsByIdByRelationResponse = GetAgenterrorsByIdByRelationResponses[keyof GetAgenterrorsByIdByRelationResponses]; + +export type GetAgenterrorsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agenterrors/{id}/relationships/{relation}'; +}; + +export type GetAgenterrorsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgenterrorsByIdRelationshipsByRelationError = GetAgenterrorsByIdRelationshipsByRelationErrors[keyof GetAgenterrorsByIdRelationshipsByRelationErrors]; + +export type GetAgenterrorsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: AgentErrorResponse; +}; + +export type GetAgenterrorsByIdRelationshipsByRelationResponse = GetAgenterrorsByIdRelationshipsByRelationResponses[keyof GetAgenterrorsByIdRelationshipsByRelationResponses]; + +export type PatchAgenterrorsByIdRelationshipsByRelationData = { + body: AgentErrorRelationTask; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agenterrors/{id}/relationships/{relation}'; +}; + +export type PatchAgenterrorsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAgenterrorsByIdRelationshipsByRelationError = PatchAgenterrorsByIdRelationshipsByRelationErrors[keyof PatchAgenterrorsByIdRelationshipsByRelationErrors]; + +export type PatchAgenterrorsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchAgenterrorsByIdRelationshipsByRelationResponse = PatchAgenterrorsByIdRelationshipsByRelationResponses[keyof PatchAgenterrorsByIdRelationshipsByRelationResponses]; + +export type DeleteAgenterrorsByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agenterrors/{id}'; +}; + +export type DeleteAgenterrorsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAgenterrorsByIdError = DeleteAgenterrorsByIdErrors[keyof DeleteAgenterrorsByIdErrors]; + +export type DeleteAgenterrorsByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteAgenterrorsByIdResponse = DeleteAgenterrorsByIdResponses[keyof DeleteAgenterrorsByIdResponses]; + +export type GetAgenterrorsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agenterrors/{id}'; +}; + +export type GetAgenterrorsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgenterrorsByIdError = GetAgenterrorsByIdErrors[keyof GetAgenterrorsByIdErrors]; + +export type GetAgenterrorsByIdResponses = { + /** + * successful operation + */ + 200: AgentErrorResponse; +}; + +export type GetAgenterrorsByIdResponse = GetAgenterrorsByIdResponses[keyof GetAgenterrorsByIdResponses]; + +export type DeleteAgentstatsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentstats'; +}; + +export type DeleteAgentstatsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteAgentstatsError = DeleteAgentstatsErrors[keyof DeleteAgentstatsErrors]; + +export type DeleteAgentstatsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetAgentstatsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/agentstats'; +}; + +export type GetAgentstatsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgentstatsError = GetAgentstatsErrors[keyof GetAgentstatsErrors]; + +export type GetAgentstatsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgentstatsResponse = GetAgentstatsResponses[keyof GetAgentstatsResponses]; + +export type GetAgentstatsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/agentstats/count'; +}; + +export type GetAgentstatsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetAgentstatsCountError = GetAgentstatsCountErrors[keyof GetAgentstatsCountErrors]; + +export type GetAgentstatsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetAgentstatsCountResponse = GetAgentstatsCountResponses[keyof GetAgentstatsCountResponses]; + +export type DeleteAgentstatsByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentstats/{id}'; +}; + +export type DeleteAgentstatsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAgentstatsByIdError = DeleteAgentstatsByIdErrors[keyof DeleteAgentstatsByIdErrors]; + +export type DeleteAgentstatsByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteAgentstatsByIdResponse = DeleteAgentstatsByIdResponses[keyof DeleteAgentstatsByIdResponses]; + +export type GetAgentstatsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agentstats/{id}'; +}; + +export type GetAgentstatsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentstatsByIdError = GetAgentstatsByIdErrors[keyof GetAgentstatsByIdErrors]; + +export type GetAgentstatsByIdResponses = { + /** + * successful operation + */ + 200: AgentStatResponse; +}; + +export type GetAgentstatsByIdResponse = GetAgentstatsByIdResponses[keyof GetAgentstatsByIdResponses]; + +export type DeleteApiTokensData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/apiTokens'; +}; + +export type DeleteApiTokensErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteApiTokensError = DeleteApiTokensErrors[keyof DeleteApiTokensErrors]; + +export type DeleteApiTokensResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetApiTokensData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: user + */ + include?: string; + }; + url: '/api/v2/ui/apiTokens'; +}; + +export type GetApiTokensErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetApiTokensError = GetApiTokensErrors[keyof GetApiTokensErrors]; + +export type GetApiTokensResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetApiTokensResponse = GetApiTokensResponses[keyof GetApiTokensResponses]; + +export type PatchApiTokensData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/apiTokens'; +}; + +export type PatchApiTokensErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchApiTokensError = PatchApiTokensErrors[keyof PatchApiTokensErrors]; + +export type PatchApiTokensResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostApiTokensData = { + body: JwtApiKeyCreate; + path?: never; + query?: never; + url: '/api/v2/ui/apiTokens'; +}; + +export type PostApiTokensErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostApiTokensError = PostApiTokensErrors[keyof PostApiTokensErrors]; + +export type PostApiTokensResponses = { + /** + * successful operation + */ + 201: JwtApiKeyPostPatchResponse; +}; + +export type PostApiTokensResponse = PostApiTokensResponses[keyof PostApiTokensResponses]; + +export type GetApiTokensCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: user + */ + include?: string; + }; + url: '/api/v2/ui/apiTokens/count'; +}; + +export type GetApiTokensCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetApiTokensCountError = GetApiTokensCountErrors[keyof GetApiTokensCountErrors]; + +export type GetApiTokensCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetApiTokensCountResponse = GetApiTokensCountResponses[keyof GetApiTokensCountResponses]; + +export type GetApiTokensByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}/{relation}'; +}; + +export type GetApiTokensByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetApiTokensByIdByRelationError = GetApiTokensByIdByRelationErrors[keyof GetApiTokensByIdByRelationErrors]; + +export type GetApiTokensByIdByRelationResponses = { + /** + * successful operation + */ + 200: JwtApiKeyRelationUserGetResponse; +}; + +export type GetApiTokensByIdByRelationResponse = GetApiTokensByIdByRelationResponses[keyof GetApiTokensByIdByRelationResponses]; + +export type GetApiTokensByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}/relationships/{relation}'; +}; + +export type GetApiTokensByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetApiTokensByIdRelationshipsByRelationError = GetApiTokensByIdRelationshipsByRelationErrors[keyof GetApiTokensByIdRelationshipsByRelationErrors]; + +export type GetApiTokensByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: JwtApiKeyResponse; +}; + +export type GetApiTokensByIdRelationshipsByRelationResponse = GetApiTokensByIdRelationshipsByRelationResponses[keyof GetApiTokensByIdRelationshipsByRelationResponses]; + +export type PatchApiTokensByIdRelationshipsByRelationData = { + body: JwtApiKeyRelationUser; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}/relationships/{relation}'; +}; + +export type PatchApiTokensByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchApiTokensByIdRelationshipsByRelationError = PatchApiTokensByIdRelationshipsByRelationErrors[keyof PatchApiTokensByIdRelationshipsByRelationErrors]; + +export type PatchApiTokensByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchApiTokensByIdRelationshipsByRelationResponse = PatchApiTokensByIdRelationshipsByRelationResponses[keyof PatchApiTokensByIdRelationshipsByRelationResponses]; + +export type DeleteApiTokensByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}'; +}; + +export type DeleteApiTokensByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteApiTokensByIdError = DeleteApiTokensByIdErrors[keyof DeleteApiTokensByIdErrors]; + +export type DeleteApiTokensByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteApiTokensByIdResponse = DeleteApiTokensByIdResponses[keyof DeleteApiTokensByIdResponses]; + +export type GetApiTokensByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/apiTokens/{id}'; +}; + +export type GetApiTokensByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetApiTokensByIdError = GetApiTokensByIdErrors[keyof GetApiTokensByIdErrors]; + +export type GetApiTokensByIdResponses = { + /** + * successful operation + */ + 200: JwtApiKeyResponse; +}; + +export type GetApiTokensByIdResponse = GetApiTokensByIdResponses[keyof GetApiTokensByIdResponses]; + +export type PatchApiTokensByIdData = { + body: JwtApiKeyPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}'; +}; + +export type PatchApiTokensByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchApiTokensByIdError = PatchApiTokensByIdErrors[keyof PatchApiTokensByIdErrors]; + +export type PatchApiTokensByIdResponses = { + /** + * successful operation + */ + 200: JwtApiKeyPostPatchResponse; +}; + +export type PatchApiTokensByIdResponse = PatchApiTokensByIdResponses[keyof PatchApiTokensByIdResponses]; + +export type GetChunksData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: agent,task + */ + include?: string; + }; + url: '/api/v2/ui/chunks'; +}; + +export type GetChunksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetChunksError = GetChunksErrors[keyof GetChunksErrors]; + +export type GetChunksResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetChunksResponse = GetChunksResponses[keyof GetChunksResponses]; + +export type GetChunksCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: agent,task + */ + include?: string; + }; + url: '/api/v2/ui/chunks/count'; +}; + +export type GetChunksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetChunksCountError = GetChunksCountErrors[keyof GetChunksCountErrors]; + +export type GetChunksCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetChunksCountResponse = GetChunksCountResponses[keyof GetChunksCountResponses]; + +export type GetChunksByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/chunks/{id}/{relation}'; +}; + +export type GetChunksByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetChunksByIdByRelationError = GetChunksByIdByRelationErrors[keyof GetChunksByIdByRelationErrors]; + +export type GetChunksByIdByRelationResponses = { + /** + * successful operation + */ + 200: ChunkRelationTaskGetResponse; +}; + +export type GetChunksByIdByRelationResponse = GetChunksByIdByRelationResponses[keyof GetChunksByIdByRelationResponses]; + +export type GetChunksByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/chunks/{id}/relationships/{relation}'; +}; + +export type GetChunksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetChunksByIdRelationshipsByRelationError = GetChunksByIdRelationshipsByRelationErrors[keyof GetChunksByIdRelationshipsByRelationErrors]; + +export type GetChunksByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: ChunkResponse; +}; + +export type GetChunksByIdRelationshipsByRelationResponse = GetChunksByIdRelationshipsByRelationResponses[keyof GetChunksByIdRelationshipsByRelationResponses]; + +export type PatchChunksByIdRelationshipsByRelationData = { + body: ChunkRelationTask; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/chunks/{id}/relationships/{relation}'; +}; + +export type PatchChunksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchChunksByIdRelationshipsByRelationError = PatchChunksByIdRelationshipsByRelationErrors[keyof PatchChunksByIdRelationshipsByRelationErrors]; + +export type PatchChunksByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchChunksByIdRelationshipsByRelationResponse = PatchChunksByIdRelationshipsByRelationResponses[keyof PatchChunksByIdRelationshipsByRelationResponses]; + +export type GetChunksByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/chunks/{id}'; +}; + +export type GetChunksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetChunksByIdError = GetChunksByIdErrors[keyof GetChunksByIdErrors]; + +export type GetChunksByIdResponses = { + /** + * successful operation + */ + 200: ChunkResponse; +}; + +export type GetChunksByIdResponse = GetChunksByIdResponses[keyof GetChunksByIdResponses]; + +export type GetConfigsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: configSection + */ + include?: string; + }; + url: '/api/v2/ui/configs'; +}; + +export type GetConfigsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetConfigsError = GetConfigsErrors[keyof GetConfigsErrors]; + +export type GetConfigsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetConfigsResponse = GetConfigsResponses[keyof GetConfigsResponses]; + +export type PatchConfigsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/configs'; +}; + +export type PatchConfigsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchConfigsError = PatchConfigsErrors[keyof PatchConfigsErrors]; + +export type PatchConfigsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetConfigsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: configSection + */ + include?: string; + }; + url: '/api/v2/ui/configs/count'; +}; + +export type GetConfigsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetConfigsCountError = GetConfigsCountErrors[keyof GetConfigsCountErrors]; + +export type GetConfigsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetConfigsCountResponse = GetConfigsCountResponses[keyof GetConfigsCountResponses]; + +export type GetConfigsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/configs/{id}/{relation}'; +}; + +export type GetConfigsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetConfigsByIdByRelationError = GetConfigsByIdByRelationErrors[keyof GetConfigsByIdByRelationErrors]; + +export type GetConfigsByIdByRelationResponses = { + /** + * successful operation + */ + 200: ConfigRelationConfigSectionGetResponse; +}; + +export type GetConfigsByIdByRelationResponse = GetConfigsByIdByRelationResponses[keyof GetConfigsByIdByRelationResponses]; + +export type GetConfigsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/configs/{id}/relationships/{relation}'; +}; + +export type GetConfigsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetConfigsByIdRelationshipsByRelationError = GetConfigsByIdRelationshipsByRelationErrors[keyof GetConfigsByIdRelationshipsByRelationErrors]; + +export type GetConfigsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: ConfigResponse; +}; + +export type GetConfigsByIdRelationshipsByRelationResponse = GetConfigsByIdRelationshipsByRelationResponses[keyof GetConfigsByIdRelationshipsByRelationResponses]; + +export type PatchConfigsByIdRelationshipsByRelationData = { + body: ConfigRelationConfigSection; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/configs/{id}/relationships/{relation}'; +}; + +export type PatchConfigsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchConfigsByIdRelationshipsByRelationError = PatchConfigsByIdRelationshipsByRelationErrors[keyof PatchConfigsByIdRelationshipsByRelationErrors]; + +export type PatchConfigsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchConfigsByIdRelationshipsByRelationResponse = PatchConfigsByIdRelationshipsByRelationResponses[keyof PatchConfigsByIdRelationshipsByRelationResponses]; + +export type GetConfigsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/configs/{id}'; +}; + +export type GetConfigsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetConfigsByIdError = GetConfigsByIdErrors[keyof GetConfigsByIdErrors]; + +export type GetConfigsByIdResponses = { + /** + * successful operation + */ + 200: ConfigResponse; +}; + +export type GetConfigsByIdResponse = GetConfigsByIdResponses[keyof GetConfigsByIdResponses]; + +export type PatchConfigsByIdData = { + body: ConfigPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/configs/{id}'; +}; + +export type PatchConfigsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchConfigsByIdError = PatchConfigsByIdErrors[keyof PatchConfigsByIdErrors]; + +export type PatchConfigsByIdResponses = { + /** + * successful operation + */ + 200: ConfigPostPatchResponse; +}; + +export type PatchConfigsByIdResponse = PatchConfigsByIdResponses[keyof PatchConfigsByIdResponses]; + +export type GetConfigsectionsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/configsections'; +}; + +export type GetConfigsectionsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetConfigsectionsError = GetConfigsectionsErrors[keyof GetConfigsectionsErrors]; + +export type GetConfigsectionsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetConfigsectionsResponse = GetConfigsectionsResponses[keyof GetConfigsectionsResponses]; + +export type GetConfigsectionsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/configsections/count'; +}; + +export type GetConfigsectionsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetConfigsectionsCountError = GetConfigsectionsCountErrors[keyof GetConfigsectionsCountErrors]; + +export type GetConfigsectionsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetConfigsectionsCountResponse = GetConfigsectionsCountResponses[keyof GetConfigsectionsCountResponses]; + +export type GetConfigsectionsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/configsections/{id}'; +}; + +export type GetConfigsectionsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetConfigsectionsByIdError = GetConfigsectionsByIdErrors[keyof GetConfigsectionsByIdErrors]; + +export type GetConfigsectionsByIdResponses = { + /** + * successful operation + */ + 200: ConfigSectionResponse; +}; + +export type GetConfigsectionsByIdResponse = GetConfigsectionsByIdResponses[keyof GetConfigsectionsByIdResponses]; + +export type DeleteCrackersData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/crackers'; +}; + +export type DeleteCrackersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteCrackersError = DeleteCrackersErrors[keyof DeleteCrackersErrors]; + +export type DeleteCrackersResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetCrackersData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: crackerBinaryType,tasks + */ + include?: string; + }; + url: '/api/v2/ui/crackers'; +}; + +export type GetCrackersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetCrackersError = GetCrackersErrors[keyof GetCrackersErrors]; + +export type GetCrackersResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetCrackersResponse = GetCrackersResponses[keyof GetCrackersResponses]; + +export type PatchCrackersData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/crackers'; +}; + +export type PatchCrackersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchCrackersError = PatchCrackersErrors[keyof PatchCrackersErrors]; + +export type PatchCrackersResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostCrackersData = { + body: CrackerBinaryCreate; + path?: never; + query?: never; + url: '/api/v2/ui/crackers'; +}; + +export type PostCrackersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostCrackersError = PostCrackersErrors[keyof PostCrackersErrors]; + +export type PostCrackersResponses = { + /** + * successful operation + */ + 201: CrackerBinaryPostPatchResponse; +}; + +export type PostCrackersResponse = PostCrackersResponses[keyof PostCrackersResponses]; + +export type GetCrackersCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: crackerBinaryType,tasks + */ + include?: string; + }; + url: '/api/v2/ui/crackers/count'; +}; + +export type GetCrackersCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetCrackersCountError = GetCrackersCountErrors[keyof GetCrackersCountErrors]; + +export type GetCrackersCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetCrackersCountResponse = GetCrackersCountResponses[keyof GetCrackersCountResponses]; + +export type GetCrackersByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/{relation}'; +}; + +export type GetCrackersByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetCrackersByIdByRelationError = GetCrackersByIdByRelationErrors[keyof GetCrackersByIdByRelationErrors]; + +export type GetCrackersByIdByRelationResponses = { + /** + * successful operation + */ + 200: CrackerBinaryRelationTasksGetResponse; +}; + +export type GetCrackersByIdByRelationResponse = GetCrackersByIdByRelationResponses[keyof GetCrackersByIdByRelationResponses]; + +export type DeleteCrackersByIdRelationshipsByRelationData = { + body: CrackerBinaryRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; +}; + +export type DeleteCrackersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteCrackersByIdRelationshipsByRelationError = DeleteCrackersByIdRelationshipsByRelationErrors[keyof DeleteCrackersByIdRelationshipsByRelationErrors]; + +export type DeleteCrackersByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteCrackersByIdRelationshipsByRelationResponse = DeleteCrackersByIdRelationshipsByRelationResponses[keyof DeleteCrackersByIdRelationshipsByRelationResponses]; + +export type GetCrackersByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; +}; + +export type GetCrackersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetCrackersByIdRelationshipsByRelationError = GetCrackersByIdRelationshipsByRelationErrors[keyof GetCrackersByIdRelationshipsByRelationErrors]; + +export type GetCrackersByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: CrackerBinaryResponse; +}; + +export type GetCrackersByIdRelationshipsByRelationResponse = GetCrackersByIdRelationshipsByRelationResponses[keyof GetCrackersByIdRelationshipsByRelationResponses]; + +export type PatchCrackersByIdRelationshipsByRelationData = { + body: CrackerBinaryRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; +}; + +export type PatchCrackersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchCrackersByIdRelationshipsByRelationError = PatchCrackersByIdRelationshipsByRelationErrors[keyof PatchCrackersByIdRelationshipsByRelationErrors]; + +export type PatchCrackersByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchCrackersByIdRelationshipsByRelationResponse = PatchCrackersByIdRelationshipsByRelationResponses[keyof PatchCrackersByIdRelationshipsByRelationResponses]; + +export type PostCrackersByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; +}; + +export type PostCrackersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostCrackersByIdRelationshipsByRelationError = PostCrackersByIdRelationshipsByRelationErrors[keyof PostCrackersByIdRelationshipsByRelationErrors]; + +export type PostCrackersByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostCrackersByIdRelationshipsByRelationResponse = PostCrackersByIdRelationshipsByRelationResponses[keyof PostCrackersByIdRelationshipsByRelationResponses]; + +export type DeleteCrackersByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}'; +}; + +export type DeleteCrackersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteCrackersByIdError = DeleteCrackersByIdErrors[keyof DeleteCrackersByIdErrors]; + +export type DeleteCrackersByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteCrackersByIdResponse = DeleteCrackersByIdResponses[keyof DeleteCrackersByIdResponses]; + +export type GetCrackersByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/crackers/{id}'; +}; + +export type GetCrackersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetCrackersByIdError = GetCrackersByIdErrors[keyof GetCrackersByIdErrors]; + +export type GetCrackersByIdResponses = { + /** + * successful operation + */ + 200: CrackerBinaryResponse; +}; + +export type GetCrackersByIdResponse = GetCrackersByIdResponses[keyof GetCrackersByIdResponses]; + +export type PatchCrackersByIdData = { + body: CrackerBinaryPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}'; +}; + +export type PatchCrackersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchCrackersByIdError = PatchCrackersByIdErrors[keyof PatchCrackersByIdErrors]; + +export type PatchCrackersByIdResponses = { + /** + * successful operation + */ + 200: CrackerBinaryPostPatchResponse; +}; + +export type PatchCrackersByIdResponse = PatchCrackersByIdResponses[keyof PatchCrackersByIdResponses]; + +export type DeleteCrackertypesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/crackertypes'; +}; + +export type DeleteCrackertypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteCrackertypesError = DeleteCrackertypesErrors[keyof DeleteCrackertypesErrors]; + +export type DeleteCrackertypesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetCrackertypesData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: crackerVersions,tasks + */ + include?: string; + }; + url: '/api/v2/ui/crackertypes'; +}; + +export type GetCrackertypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetCrackertypesError = GetCrackertypesErrors[keyof GetCrackertypesErrors]; + +export type GetCrackertypesResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetCrackertypesResponse = GetCrackertypesResponses[keyof GetCrackertypesResponses]; + +export type PatchCrackertypesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/crackertypes'; +}; + +export type PatchCrackertypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchCrackertypesError = PatchCrackertypesErrors[keyof PatchCrackertypesErrors]; + +export type PatchCrackertypesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostCrackertypesData = { + body: CrackerBinaryTypeCreate; + path?: never; + query?: never; + url: '/api/v2/ui/crackertypes'; +}; + +export type PostCrackertypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostCrackertypesError = PostCrackertypesErrors[keyof PostCrackertypesErrors]; + +export type PostCrackertypesResponses = { + /** + * successful operation + */ + 201: CrackerBinaryTypePostPatchResponse; +}; + +export type PostCrackertypesResponse = PostCrackertypesResponses[keyof PostCrackertypesResponses]; + +export type GetCrackertypesCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: crackerVersions,tasks + */ + include?: string; + }; + url: '/api/v2/ui/crackertypes/count'; +}; + +export type GetCrackertypesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetCrackertypesCountError = GetCrackertypesCountErrors[keyof GetCrackertypesCountErrors]; + +export type GetCrackertypesCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetCrackertypesCountResponse = GetCrackertypesCountResponses[keyof GetCrackertypesCountResponses]; + +export type GetCrackertypesByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/{relation}'; +}; + +export type GetCrackertypesByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetCrackertypesByIdByRelationError = GetCrackertypesByIdByRelationErrors[keyof GetCrackertypesByIdByRelationErrors]; + +export type GetCrackertypesByIdByRelationResponses = { + /** + * successful operation + */ + 200: CrackerBinaryTypeRelationTasksGetResponse; +}; + +export type GetCrackertypesByIdByRelationResponse = GetCrackertypesByIdByRelationResponses[keyof GetCrackertypesByIdByRelationResponses]; + +export type DeleteCrackertypesByIdRelationshipsByRelationData = { + body: CrackerBinaryTypeRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; +}; + +export type DeleteCrackertypesByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteCrackertypesByIdRelationshipsByRelationError = DeleteCrackertypesByIdRelationshipsByRelationErrors[keyof DeleteCrackertypesByIdRelationshipsByRelationErrors]; + +export type DeleteCrackertypesByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteCrackertypesByIdRelationshipsByRelationResponse = DeleteCrackertypesByIdRelationshipsByRelationResponses[keyof DeleteCrackertypesByIdRelationshipsByRelationResponses]; + +export type GetCrackertypesByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; +}; + +export type GetCrackertypesByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetCrackertypesByIdRelationshipsByRelationError = GetCrackertypesByIdRelationshipsByRelationErrors[keyof GetCrackertypesByIdRelationshipsByRelationErrors]; + +export type GetCrackertypesByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: CrackerBinaryTypeResponse; +}; + +export type GetCrackertypesByIdRelationshipsByRelationResponse = GetCrackertypesByIdRelationshipsByRelationResponses[keyof GetCrackertypesByIdRelationshipsByRelationResponses]; + +export type PatchCrackertypesByIdRelationshipsByRelationData = { + body: CrackerBinaryTypeRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; +}; + +export type PatchCrackertypesByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchCrackertypesByIdRelationshipsByRelationError = PatchCrackertypesByIdRelationshipsByRelationErrors[keyof PatchCrackertypesByIdRelationshipsByRelationErrors]; + +export type PatchCrackertypesByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchCrackertypesByIdRelationshipsByRelationResponse = PatchCrackertypesByIdRelationshipsByRelationResponses[keyof PatchCrackertypesByIdRelationshipsByRelationResponses]; + +export type PostCrackertypesByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; +}; + +export type PostCrackertypesByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostCrackertypesByIdRelationshipsByRelationError = PostCrackertypesByIdRelationshipsByRelationErrors[keyof PostCrackertypesByIdRelationshipsByRelationErrors]; + +export type PostCrackertypesByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostCrackertypesByIdRelationshipsByRelationResponse = PostCrackertypesByIdRelationshipsByRelationResponses[keyof PostCrackertypesByIdRelationshipsByRelationResponses]; + +export type DeleteCrackertypesByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}'; +}; + +export type DeleteCrackertypesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteCrackertypesByIdError = DeleteCrackertypesByIdErrors[keyof DeleteCrackertypesByIdErrors]; + +export type DeleteCrackertypesByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteCrackertypesByIdResponse = DeleteCrackertypesByIdResponses[keyof DeleteCrackertypesByIdResponses]; + +export type GetCrackertypesByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/crackertypes/{id}'; +}; + +export type GetCrackertypesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetCrackertypesByIdError = GetCrackertypesByIdErrors[keyof GetCrackertypesByIdErrors]; + +export type GetCrackertypesByIdResponses = { + /** + * successful operation + */ + 200: CrackerBinaryTypeResponse; +}; + +export type GetCrackertypesByIdResponse = GetCrackertypesByIdResponses[keyof GetCrackertypesByIdResponses]; + +export type PatchCrackertypesByIdData = { + body: CrackerBinaryTypePatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}'; +}; + +export type PatchCrackertypesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchCrackertypesByIdError = PatchCrackertypesByIdErrors[keyof PatchCrackertypesByIdErrors]; + +export type PatchCrackertypesByIdResponses = { + /** + * successful operation + */ + 200: CrackerBinaryTypePostPatchResponse; +}; + +export type PatchCrackertypesByIdResponse = PatchCrackertypesByIdResponses[keyof PatchCrackertypesByIdResponses]; + +export type DeleteFilesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/files'; +}; + +export type DeleteFilesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteFilesError = DeleteFilesErrors[keyof DeleteFilesErrors]; + +export type DeleteFilesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetFilesData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: accessGroup + */ + include?: string; + }; + url: '/api/v2/ui/files'; +}; + +export type GetFilesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetFilesError = GetFilesErrors[keyof GetFilesErrors]; + +export type GetFilesResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetFilesResponse = GetFilesResponses[keyof GetFilesResponses]; + +export type PatchFilesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/files'; +}; + +export type PatchFilesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchFilesError = PatchFilesErrors[keyof PatchFilesErrors]; + +export type PatchFilesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostFilesData = { + body: FileCreate; + path?: never; + query?: never; + url: '/api/v2/ui/files'; +}; + +export type PostFilesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostFilesError = PostFilesErrors[keyof PostFilesErrors]; + +export type PostFilesResponses = { + /** + * successful operation + */ + 201: FilePostPatchResponse; +}; + +export type PostFilesResponse = PostFilesResponses[keyof PostFilesResponses]; + +export type GetFilesCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: accessGroup + */ + include?: string; + }; + url: '/api/v2/ui/files/count'; +}; + +export type GetFilesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetFilesCountError = GetFilesCountErrors[keyof GetFilesCountErrors]; + +export type GetFilesCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetFilesCountResponse = GetFilesCountResponses[keyof GetFilesCountResponses]; + +export type GetFilesByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/files/{id}/{relation}'; +}; + +export type GetFilesByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetFilesByIdByRelationError = GetFilesByIdByRelationErrors[keyof GetFilesByIdByRelationErrors]; + +export type GetFilesByIdByRelationResponses = { + /** + * successful operation + */ + 200: FileRelationAccessGroupGetResponse; +}; + +export type GetFilesByIdByRelationResponse = GetFilesByIdByRelationResponses[keyof GetFilesByIdByRelationResponses]; + +export type GetFilesByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/files/{id}/relationships/{relation}'; +}; + +export type GetFilesByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetFilesByIdRelationshipsByRelationError = GetFilesByIdRelationshipsByRelationErrors[keyof GetFilesByIdRelationshipsByRelationErrors]; + +export type GetFilesByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: FileResponse; +}; + +export type GetFilesByIdRelationshipsByRelationResponse = GetFilesByIdRelationshipsByRelationResponses[keyof GetFilesByIdRelationshipsByRelationResponses]; + +export type PatchFilesByIdRelationshipsByRelationData = { + body: FileRelationAccessGroup; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/files/{id}/relationships/{relation}'; +}; + +export type PatchFilesByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchFilesByIdRelationshipsByRelationError = PatchFilesByIdRelationshipsByRelationErrors[keyof PatchFilesByIdRelationshipsByRelationErrors]; + +export type PatchFilesByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchFilesByIdRelationshipsByRelationResponse = PatchFilesByIdRelationshipsByRelationResponses[keyof PatchFilesByIdRelationshipsByRelationResponses]; + +export type DeleteFilesByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/files/{id}'; +}; + +export type DeleteFilesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteFilesByIdError = DeleteFilesByIdErrors[keyof DeleteFilesByIdErrors]; + +export type DeleteFilesByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteFilesByIdResponse = DeleteFilesByIdResponses[keyof DeleteFilesByIdResponses]; + +export type GetFilesByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/files/{id}'; +}; + +export type GetFilesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetFilesByIdError = GetFilesByIdErrors[keyof GetFilesByIdErrors]; + +export type GetFilesByIdResponses = { + /** + * successful operation + */ + 200: FileResponse; +}; + +export type GetFilesByIdResponse = GetFilesByIdResponses[keyof GetFilesByIdResponses]; + +export type PatchFilesByIdData = { + body: FilePatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/files/{id}'; +}; + +export type PatchFilesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchFilesByIdError = PatchFilesByIdErrors[keyof PatchFilesByIdErrors]; + +export type PatchFilesByIdResponses = { + /** + * successful operation + */ + 200: FilePostPatchResponse; +}; + +export type PatchFilesByIdResponse = PatchFilesByIdResponses[keyof PatchFilesByIdResponses]; + +export type DeleteGlobalpermissiongroupsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/globalpermissiongroups'; +}; + +export type DeleteGlobalpermissiongroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteGlobalpermissiongroupsError = DeleteGlobalpermissiongroupsErrors[keyof DeleteGlobalpermissiongroupsErrors]; + +export type DeleteGlobalpermissiongroupsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetGlobalpermissiongroupsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: userMembers + */ + include?: string; + }; + url: '/api/v2/ui/globalpermissiongroups'; +}; + +export type GetGlobalpermissiongroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetGlobalpermissiongroupsError = GetGlobalpermissiongroupsErrors[keyof GetGlobalpermissiongroupsErrors]; + +export type GetGlobalpermissiongroupsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetGlobalpermissiongroupsResponse = GetGlobalpermissiongroupsResponses[keyof GetGlobalpermissiongroupsResponses]; + +export type PatchGlobalpermissiongroupsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/globalpermissiongroups'; +}; + +export type PatchGlobalpermissiongroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchGlobalpermissiongroupsError = PatchGlobalpermissiongroupsErrors[keyof PatchGlobalpermissiongroupsErrors]; + +export type PatchGlobalpermissiongroupsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostGlobalpermissiongroupsData = { + body: RightGroupCreate; + path?: never; + query?: never; + url: '/api/v2/ui/globalpermissiongroups'; +}; + +export type PostGlobalpermissiongroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostGlobalpermissiongroupsError = PostGlobalpermissiongroupsErrors[keyof PostGlobalpermissiongroupsErrors]; + +export type PostGlobalpermissiongroupsResponses = { + /** + * successful operation + */ + 201: RightGroupPostPatchResponse; +}; + +export type PostGlobalpermissiongroupsResponse = PostGlobalpermissiongroupsResponses[keyof PostGlobalpermissiongroupsResponses]; + +export type GetGlobalpermissiongroupsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: userMembers + */ + include?: string; + }; + url: '/api/v2/ui/globalpermissiongroups/count'; +}; + +export type GetGlobalpermissiongroupsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetGlobalpermissiongroupsCountError = GetGlobalpermissiongroupsCountErrors[keyof GetGlobalpermissiongroupsCountErrors]; + +export type GetGlobalpermissiongroupsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetGlobalpermissiongroupsCountResponse = GetGlobalpermissiongroupsCountResponses[keyof GetGlobalpermissiongroupsCountResponses]; + +export type GetGlobalpermissiongroupsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/{relation}'; +}; + +export type GetGlobalpermissiongroupsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetGlobalpermissiongroupsByIdByRelationError = GetGlobalpermissiongroupsByIdByRelationErrors[keyof GetGlobalpermissiongroupsByIdByRelationErrors]; + +export type GetGlobalpermissiongroupsByIdByRelationResponses = { + /** + * successful operation + */ + 200: RightGroupRelationUserMembersGetResponse; +}; + +export type GetGlobalpermissiongroupsByIdByRelationResponse = GetGlobalpermissiongroupsByIdByRelationResponses[keyof GetGlobalpermissiongroupsByIdByRelationResponses]; + +export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData = { + body: RightGroupRelationUserMembers; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; +}; + +export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError = DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; + +export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse = DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; + +export type GetGlobalpermissiongroupsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; +}; + +export type GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetGlobalpermissiongroupsByIdRelationshipsByRelationError = GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; + +export type GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: RightGroupResponse; +}; + +export type GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse = GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; + +export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationData = { + body: RightGroupRelationUserMembers; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; +}; + +export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationError = PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; + +export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse = PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; + +export type PostGlobalpermissiongroupsByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; +}; + +export type PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostGlobalpermissiongroupsByIdRelationshipsByRelationError = PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; + +export type PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse = PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; + +export type DeleteGlobalpermissiongroupsByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}'; +}; + +export type DeleteGlobalpermissiongroupsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteGlobalpermissiongroupsByIdError = DeleteGlobalpermissiongroupsByIdErrors[keyof DeleteGlobalpermissiongroupsByIdErrors]; + +export type DeleteGlobalpermissiongroupsByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteGlobalpermissiongroupsByIdResponse = DeleteGlobalpermissiongroupsByIdResponses[keyof DeleteGlobalpermissiongroupsByIdResponses]; + +export type GetGlobalpermissiongroupsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/globalpermissiongroups/{id}'; +}; + +export type GetGlobalpermissiongroupsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetGlobalpermissiongroupsByIdError = GetGlobalpermissiongroupsByIdErrors[keyof GetGlobalpermissiongroupsByIdErrors]; + +export type GetGlobalpermissiongroupsByIdResponses = { + /** + * successful operation + */ + 200: RightGroupResponse; +}; + +export type GetGlobalpermissiongroupsByIdResponse = GetGlobalpermissiongroupsByIdResponses[keyof GetGlobalpermissiongroupsByIdResponses]; + +export type PatchGlobalpermissiongroupsByIdData = { + body: RightGroupPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}'; +}; + +export type PatchGlobalpermissiongroupsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchGlobalpermissiongroupsByIdError = PatchGlobalpermissiongroupsByIdErrors[keyof PatchGlobalpermissiongroupsByIdErrors]; + +export type PatchGlobalpermissiongroupsByIdResponses = { + /** + * successful operation + */ + 200: RightGroupPostPatchResponse; +}; + +export type PatchGlobalpermissiongroupsByIdResponse = PatchGlobalpermissiongroupsByIdResponses[keyof PatchGlobalpermissiongroupsByIdResponses]; + +export type GetHashesData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: chunk,hashlist + */ + include?: string; + }; + url: '/api/v2/ui/hashes'; +}; + +export type GetHashesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHashesError = GetHashesErrors[keyof GetHashesErrors]; + +export type GetHashesResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHashesResponse = GetHashesResponses[keyof GetHashesResponses]; + +export type GetHashesCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: chunk,hashlist + */ + include?: string; + }; + url: '/api/v2/ui/hashes/count'; +}; + +export type GetHashesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHashesCountError = GetHashesCountErrors[keyof GetHashesCountErrors]; + +export type GetHashesCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHashesCountResponse = GetHashesCountResponses[keyof GetHashesCountResponses]; + +export type GetHashesByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashes/{id}/{relation}'; +}; + +export type GetHashesByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHashesByIdByRelationError = GetHashesByIdByRelationErrors[keyof GetHashesByIdByRelationErrors]; + +export type GetHashesByIdByRelationResponses = { + /** + * successful operation + */ + 200: HashRelationHashlistGetResponse; +}; + +export type GetHashesByIdByRelationResponse = GetHashesByIdByRelationResponses[keyof GetHashesByIdByRelationResponses]; + +export type GetHashesByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashes/{id}/relationships/{relation}'; +}; + +export type GetHashesByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHashesByIdRelationshipsByRelationError = GetHashesByIdRelationshipsByRelationErrors[keyof GetHashesByIdRelationshipsByRelationErrors]; + +export type GetHashesByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: HashResponse; +}; + +export type GetHashesByIdRelationshipsByRelationResponse = GetHashesByIdRelationshipsByRelationResponses[keyof GetHashesByIdRelationshipsByRelationResponses]; + +export type PatchHashesByIdRelationshipsByRelationData = { + body: HashRelationHashlist; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashes/{id}/relationships/{relation}'; +}; + +export type PatchHashesByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHashesByIdRelationshipsByRelationError = PatchHashesByIdRelationshipsByRelationErrors[keyof PatchHashesByIdRelationshipsByRelationErrors]; + +export type PatchHashesByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchHashesByIdRelationshipsByRelationResponse = PatchHashesByIdRelationshipsByRelationResponses[keyof PatchHashesByIdRelationshipsByRelationResponses]; + +export type GetHashesByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/hashes/{id}'; +}; + +export type GetHashesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHashesByIdError = GetHashesByIdErrors[keyof GetHashesByIdErrors]; + +export type GetHashesByIdResponses = { + /** + * successful operation + */ + 200: HashResponse; +}; + +export type GetHashesByIdResponse = GetHashesByIdResponses[keyof GetHashesByIdResponses]; + +export type DeleteHashlistsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/hashlists'; +}; + +export type DeleteHashlistsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteHashlistsError = DeleteHashlistsErrors[keyof DeleteHashlistsErrors]; + +export type DeleteHashlistsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetHashlistsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks + */ + include?: string; + }; + url: '/api/v2/ui/hashlists'; +}; + +export type GetHashlistsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHashlistsError = GetHashlistsErrors[keyof GetHashlistsErrors]; + +export type GetHashlistsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHashlistsResponse = GetHashlistsResponses[keyof GetHashlistsResponses]; + +export type PatchHashlistsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/hashlists'; +}; + +export type PatchHashlistsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchHashlistsError = PatchHashlistsErrors[keyof PatchHashlistsErrors]; + +export type PatchHashlistsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostHashlistsData = { + body: HashlistCreate; + path?: never; + query?: never; + url: '/api/v2/ui/hashlists'; +}; + +export type PostHashlistsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostHashlistsError = PostHashlistsErrors[keyof PostHashlistsErrors]; + +export type PostHashlistsResponses = { + /** + * successful operation + */ + 201: HashlistPostPatchResponse; +}; + +export type PostHashlistsResponse = PostHashlistsResponses[keyof PostHashlistsResponses]; + +export type GetHashlistsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks + */ + include?: string; + }; + url: '/api/v2/ui/hashlists/count'; +}; + +export type GetHashlistsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHashlistsCountError = GetHashlistsCountErrors[keyof GetHashlistsCountErrors]; + +export type GetHashlistsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHashlistsCountResponse = GetHashlistsCountResponses[keyof GetHashlistsCountResponses]; + +export type GetHashlistsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/{relation}'; +}; + +export type GetHashlistsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHashlistsByIdByRelationError = GetHashlistsByIdByRelationErrors[keyof GetHashlistsByIdByRelationErrors]; + +export type GetHashlistsByIdByRelationResponses = { + /** + * successful operation + */ + 200: HashlistRelationTasksGetResponse; +}; + +export type GetHashlistsByIdByRelationResponse = GetHashlistsByIdByRelationResponses[keyof GetHashlistsByIdByRelationResponses]; + +export type DeleteHashlistsByIdRelationshipsByRelationData = { + body: HashlistRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; +}; + +export type DeleteHashlistsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteHashlistsByIdRelationshipsByRelationError = DeleteHashlistsByIdRelationshipsByRelationErrors[keyof DeleteHashlistsByIdRelationshipsByRelationErrors]; + +export type DeleteHashlistsByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteHashlistsByIdRelationshipsByRelationResponse = DeleteHashlistsByIdRelationshipsByRelationResponses[keyof DeleteHashlistsByIdRelationshipsByRelationResponses]; + +export type GetHashlistsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; +}; + +export type GetHashlistsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHashlistsByIdRelationshipsByRelationError = GetHashlistsByIdRelationshipsByRelationErrors[keyof GetHashlistsByIdRelationshipsByRelationErrors]; + +export type GetHashlistsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: HashlistResponse; +}; + +export type GetHashlistsByIdRelationshipsByRelationResponse = GetHashlistsByIdRelationshipsByRelationResponses[keyof GetHashlistsByIdRelationshipsByRelationResponses]; + +export type PatchHashlistsByIdRelationshipsByRelationData = { + body: HashlistRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; +}; + +export type PatchHashlistsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHashlistsByIdRelationshipsByRelationError = PatchHashlistsByIdRelationshipsByRelationErrors[keyof PatchHashlistsByIdRelationshipsByRelationErrors]; + +export type PatchHashlistsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchHashlistsByIdRelationshipsByRelationResponse = PatchHashlistsByIdRelationshipsByRelationResponses[keyof PatchHashlistsByIdRelationshipsByRelationResponses]; + +export type PostHashlistsByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; +}; + +export type PostHashlistsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostHashlistsByIdRelationshipsByRelationError = PostHashlistsByIdRelationshipsByRelationErrors[keyof PostHashlistsByIdRelationshipsByRelationErrors]; + +export type PostHashlistsByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostHashlistsByIdRelationshipsByRelationResponse = PostHashlistsByIdRelationshipsByRelationResponses[keyof PostHashlistsByIdRelationshipsByRelationResponses]; + +export type DeleteHashlistsByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}'; +}; + +export type DeleteHashlistsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteHashlistsByIdError = DeleteHashlistsByIdErrors[keyof DeleteHashlistsByIdErrors]; + +export type DeleteHashlistsByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteHashlistsByIdResponse = DeleteHashlistsByIdResponses[keyof DeleteHashlistsByIdResponses]; + +export type GetHashlistsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/hashlists/{id}'; +}; + +export type GetHashlistsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHashlistsByIdError = GetHashlistsByIdErrors[keyof GetHashlistsByIdErrors]; + +export type GetHashlistsByIdResponses = { + /** + * successful operation + */ + 200: HashlistResponse; +}; + +export type GetHashlistsByIdResponse = GetHashlistsByIdResponses[keyof GetHashlistsByIdResponses]; + +export type PatchHashlistsByIdData = { + body: HashlistPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}'; +}; + +export type PatchHashlistsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHashlistsByIdError = PatchHashlistsByIdErrors[keyof PatchHashlistsByIdErrors]; + +export type PatchHashlistsByIdResponses = { + /** + * successful operation + */ + 200: HashlistPostPatchResponse; +}; + +export type PatchHashlistsByIdResponse = PatchHashlistsByIdResponses[keyof PatchHashlistsByIdResponses]; + +export type DeleteHashtypesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/hashtypes'; +}; + +export type DeleteHashtypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteHashtypesError = DeleteHashtypesErrors[keyof DeleteHashtypesErrors]; + +export type DeleteHashtypesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetHashtypesData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/hashtypes'; +}; + +export type GetHashtypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHashtypesError = GetHashtypesErrors[keyof GetHashtypesErrors]; + +export type GetHashtypesResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHashtypesResponse = GetHashtypesResponses[keyof GetHashtypesResponses]; + +export type PatchHashtypesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/hashtypes'; +}; + +export type PatchHashtypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchHashtypesError = PatchHashtypesErrors[keyof PatchHashtypesErrors]; + +export type PatchHashtypesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostHashtypesData = { + body: HashTypeCreate; + path?: never; + query?: never; + url: '/api/v2/ui/hashtypes'; +}; + +export type PostHashtypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostHashtypesError = PostHashtypesErrors[keyof PostHashtypesErrors]; + +export type PostHashtypesResponses = { + /** + * successful operation + */ + 201: HashTypePostPatchResponse; +}; + +export type PostHashtypesResponse = PostHashtypesResponses[keyof PostHashtypesResponses]; + +export type GetHashtypesCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/hashtypes/count'; +}; + +export type GetHashtypesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHashtypesCountError = GetHashtypesCountErrors[keyof GetHashtypesCountErrors]; + +export type GetHashtypesCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHashtypesCountResponse = GetHashtypesCountResponses[keyof GetHashtypesCountResponses]; + +export type DeleteHashtypesByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/hashtypes/{id}'; +}; + +export type DeleteHashtypesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteHashtypesByIdError = DeleteHashtypesByIdErrors[keyof DeleteHashtypesByIdErrors]; + +export type DeleteHashtypesByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteHashtypesByIdResponse = DeleteHashtypesByIdResponses[keyof DeleteHashtypesByIdResponses]; + +export type GetHashtypesByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/hashtypes/{id}'; +}; + +export type GetHashtypesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHashtypesByIdError = GetHashtypesByIdErrors[keyof GetHashtypesByIdErrors]; + +export type GetHashtypesByIdResponses = { + /** + * successful operation + */ + 200: HashTypeResponse; +}; + +export type GetHashtypesByIdResponse = GetHashtypesByIdResponses[keyof GetHashtypesByIdResponses]; + +export type PatchHashtypesByIdData = { + body: HashTypePatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/hashtypes/{id}'; +}; + +export type PatchHashtypesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHashtypesByIdError = PatchHashtypesByIdErrors[keyof PatchHashtypesByIdErrors]; + +export type PatchHashtypesByIdResponses = { + /** + * successful operation + */ + 200: HashTypePostPatchResponse; +}; + +export type PatchHashtypesByIdResponse = PatchHashtypesByIdResponses[keyof PatchHashtypesByIdResponses]; + +export type GetHealthcheckagentsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: agent,healthCheck + */ + include?: string; + }; + url: '/api/v2/ui/healthcheckagents'; +}; + +export type GetHealthcheckagentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHealthcheckagentsError = GetHealthcheckagentsErrors[keyof GetHealthcheckagentsErrors]; + +export type GetHealthcheckagentsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHealthcheckagentsResponse = GetHealthcheckagentsResponses[keyof GetHealthcheckagentsResponses]; + +export type GetHealthcheckagentsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: agent,healthCheck + */ + include?: string; + }; + url: '/api/v2/ui/healthcheckagents/count'; +}; + +export type GetHealthcheckagentsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHealthcheckagentsCountError = GetHealthcheckagentsCountErrors[keyof GetHealthcheckagentsCountErrors]; + +export type GetHealthcheckagentsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHealthcheckagentsCountResponse = GetHealthcheckagentsCountResponses[keyof GetHealthcheckagentsCountResponses]; + +export type GetHealthcheckagentsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthcheckagents/{id}/{relation}'; +}; + +export type GetHealthcheckagentsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthcheckagentsByIdByRelationError = GetHealthcheckagentsByIdByRelationErrors[keyof GetHealthcheckagentsByIdByRelationErrors]; + +export type GetHealthcheckagentsByIdByRelationResponses = { + /** + * successful operation + */ + 200: HealthCheckAgentRelationHealthCheckGetResponse; +}; + +export type GetHealthcheckagentsByIdByRelationResponse = GetHealthcheckagentsByIdByRelationResponses[keyof GetHealthcheckagentsByIdByRelationResponses]; + +export type GetHealthcheckagentsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthcheckagents/{id}/relationships/{relation}'; +}; + +export type GetHealthcheckagentsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthcheckagentsByIdRelationshipsByRelationError = GetHealthcheckagentsByIdRelationshipsByRelationErrors[keyof GetHealthcheckagentsByIdRelationshipsByRelationErrors]; + +export type GetHealthcheckagentsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: HealthCheckAgentResponse; +}; + +export type GetHealthcheckagentsByIdRelationshipsByRelationResponse = GetHealthcheckagentsByIdRelationshipsByRelationResponses[keyof GetHealthcheckagentsByIdRelationshipsByRelationResponses]; + +export type PatchHealthcheckagentsByIdRelationshipsByRelationData = { + body: HealthCheckAgentRelationHealthCheck; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthcheckagents/{id}/relationships/{relation}'; +}; + +export type PatchHealthcheckagentsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHealthcheckagentsByIdRelationshipsByRelationError = PatchHealthcheckagentsByIdRelationshipsByRelationErrors[keyof PatchHealthcheckagentsByIdRelationshipsByRelationErrors]; + +export type PatchHealthcheckagentsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchHealthcheckagentsByIdRelationshipsByRelationResponse = PatchHealthcheckagentsByIdRelationshipsByRelationResponses[keyof PatchHealthcheckagentsByIdRelationshipsByRelationResponses]; + +export type GetHealthcheckagentsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/healthcheckagents/{id}'; +}; + +export type GetHealthcheckagentsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthcheckagentsByIdError = GetHealthcheckagentsByIdErrors[keyof GetHealthcheckagentsByIdErrors]; + +export type GetHealthcheckagentsByIdResponses = { + /** + * successful operation + */ + 200: HealthCheckAgentResponse; +}; + +export type GetHealthcheckagentsByIdResponse = GetHealthcheckagentsByIdResponses[keyof GetHealthcheckagentsByIdResponses]; + +export type DeleteHealthchecksData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/healthchecks'; +}; + +export type DeleteHealthchecksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteHealthchecksError = DeleteHealthchecksErrors[keyof DeleteHealthchecksErrors]; + +export type DeleteHealthchecksResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetHealthchecksData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents + */ + include?: string; + }; + url: '/api/v2/ui/healthchecks'; +}; + +export type GetHealthchecksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHealthchecksError = GetHealthchecksErrors[keyof GetHealthchecksErrors]; + +export type GetHealthchecksResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHealthchecksResponse = GetHealthchecksResponses[keyof GetHealthchecksResponses]; + +export type PatchHealthchecksData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/healthchecks'; +}; + +export type PatchHealthchecksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchHealthchecksError = PatchHealthchecksErrors[keyof PatchHealthchecksErrors]; + +export type PatchHealthchecksResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostHealthchecksData = { + body: HealthCheckCreate; + path?: never; + query?: never; + url: '/api/v2/ui/healthchecks'; +}; + +export type PostHealthchecksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostHealthchecksError = PostHealthchecksErrors[keyof PostHealthchecksErrors]; + +export type PostHealthchecksResponses = { + /** + * successful operation + */ + 201: HealthCheckPostPatchResponse; +}; + +export type PostHealthchecksResponse = PostHealthchecksResponses[keyof PostHealthchecksResponses]; + +export type GetHealthchecksCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents + */ + include?: string; + }; + url: '/api/v2/ui/healthchecks/count'; +}; + +export type GetHealthchecksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetHealthchecksCountError = GetHealthchecksCountErrors[keyof GetHealthchecksCountErrors]; + +export type GetHealthchecksCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetHealthchecksCountResponse = GetHealthchecksCountResponses[keyof GetHealthchecksCountResponses]; + +export type GetHealthchecksByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/{relation}'; +}; + +export type GetHealthchecksByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthchecksByIdByRelationError = GetHealthchecksByIdByRelationErrors[keyof GetHealthchecksByIdByRelationErrors]; + +export type GetHealthchecksByIdByRelationResponses = { + /** + * successful operation + */ + 200: HealthCheckRelationHealthCheckAgentsGetResponse; +}; + +export type GetHealthchecksByIdByRelationResponse = GetHealthchecksByIdByRelationResponses[keyof GetHealthchecksByIdByRelationResponses]; + +export type DeleteHealthchecksByIdRelationshipsByRelationData = { + body: HealthCheckRelationHealthCheckAgents; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; +}; + +export type DeleteHealthchecksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteHealthchecksByIdRelationshipsByRelationError = DeleteHealthchecksByIdRelationshipsByRelationErrors[keyof DeleteHealthchecksByIdRelationshipsByRelationErrors]; + +export type DeleteHealthchecksByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteHealthchecksByIdRelationshipsByRelationResponse = DeleteHealthchecksByIdRelationshipsByRelationResponses[keyof DeleteHealthchecksByIdRelationshipsByRelationResponses]; + +export type GetHealthchecksByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; +}; + +export type GetHealthchecksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthchecksByIdRelationshipsByRelationError = GetHealthchecksByIdRelationshipsByRelationErrors[keyof GetHealthchecksByIdRelationshipsByRelationErrors]; + +export type GetHealthchecksByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: HealthCheckResponse; +}; + +export type GetHealthchecksByIdRelationshipsByRelationResponse = GetHealthchecksByIdRelationshipsByRelationResponses[keyof GetHealthchecksByIdRelationshipsByRelationResponses]; + +export type PatchHealthchecksByIdRelationshipsByRelationData = { + body: HealthCheckRelationHealthCheckAgents; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; +}; + +export type PatchHealthchecksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHealthchecksByIdRelationshipsByRelationError = PatchHealthchecksByIdRelationshipsByRelationErrors[keyof PatchHealthchecksByIdRelationshipsByRelationErrors]; + +export type PatchHealthchecksByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchHealthchecksByIdRelationshipsByRelationResponse = PatchHealthchecksByIdRelationshipsByRelationResponses[keyof PatchHealthchecksByIdRelationshipsByRelationResponses]; + +export type PostHealthchecksByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; +}; + +export type PostHealthchecksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostHealthchecksByIdRelationshipsByRelationError = PostHealthchecksByIdRelationshipsByRelationErrors[keyof PostHealthchecksByIdRelationshipsByRelationErrors]; + +export type PostHealthchecksByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostHealthchecksByIdRelationshipsByRelationResponse = PostHealthchecksByIdRelationshipsByRelationResponses[keyof PostHealthchecksByIdRelationshipsByRelationResponses]; + +export type DeleteHealthchecksByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}'; +}; + +export type DeleteHealthchecksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteHealthchecksByIdError = DeleteHealthchecksByIdErrors[keyof DeleteHealthchecksByIdErrors]; + +export type DeleteHealthchecksByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteHealthchecksByIdResponse = DeleteHealthchecksByIdResponses[keyof DeleteHealthchecksByIdResponses]; + +export type GetHealthchecksByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/healthchecks/{id}'; +}; + +export type GetHealthchecksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthchecksByIdError = GetHealthchecksByIdErrors[keyof GetHealthchecksByIdErrors]; + +export type GetHealthchecksByIdResponses = { + /** + * successful operation + */ + 200: HealthCheckResponse; +}; + +export type GetHealthchecksByIdResponse = GetHealthchecksByIdResponses[keyof GetHealthchecksByIdResponses]; + +export type PatchHealthchecksByIdData = { + body: HealthCheckPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}'; +}; + +export type PatchHealthchecksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHealthchecksByIdError = PatchHealthchecksByIdErrors[keyof PatchHealthchecksByIdErrors]; + +export type PatchHealthchecksByIdResponses = { + /** + * successful operation + */ + 200: HealthCheckPostPatchResponse; +}; + +export type PatchHealthchecksByIdResponse = PatchHealthchecksByIdResponses[keyof PatchHealthchecksByIdResponses]; + +export type DeleteLogentriesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/logentries'; +}; + +export type DeleteLogentriesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteLogentriesError = DeleteLogentriesErrors[keyof DeleteLogentriesErrors]; + +export type DeleteLogentriesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetLogentriesData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/logentries'; +}; + +export type GetLogentriesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetLogentriesError = GetLogentriesErrors[keyof GetLogentriesErrors]; + +export type GetLogentriesResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetLogentriesResponse = GetLogentriesResponses[keyof GetLogentriesResponses]; + +export type PatchLogentriesData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/logentries'; +}; + +export type PatchLogentriesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchLogentriesError = PatchLogentriesErrors[keyof PatchLogentriesErrors]; + +export type PatchLogentriesResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostLogentriesData = { + body: LogEntryCreate; + path?: never; + query?: never; + url: '/api/v2/ui/logentries'; +}; + +export type PostLogentriesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostLogentriesError = PostLogentriesErrors[keyof PostLogentriesErrors]; + +export type PostLogentriesResponses = { + /** + * successful operation + */ + 201: LogEntryPostPatchResponse; +}; + +export type PostLogentriesResponse = PostLogentriesResponses[keyof PostLogentriesResponses]; + +export type GetLogentriesCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/logentries/count'; +}; + +export type GetLogentriesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetLogentriesCountError = GetLogentriesCountErrors[keyof GetLogentriesCountErrors]; + +export type GetLogentriesCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetLogentriesCountResponse = GetLogentriesCountResponses[keyof GetLogentriesCountResponses]; + +export type DeleteLogentriesByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/logentries/{id}'; +}; + +export type DeleteLogentriesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteLogentriesByIdError = DeleteLogentriesByIdErrors[keyof DeleteLogentriesByIdErrors]; + +export type DeleteLogentriesByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteLogentriesByIdResponse = DeleteLogentriesByIdResponses[keyof DeleteLogentriesByIdResponses]; + +export type GetLogentriesByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/logentries/{id}'; +}; + +export type GetLogentriesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetLogentriesByIdError = GetLogentriesByIdErrors[keyof GetLogentriesByIdErrors]; + +export type GetLogentriesByIdResponses = { + /** + * successful operation + */ + 200: LogEntryResponse; +}; + +export type GetLogentriesByIdResponse = GetLogentriesByIdResponses[keyof GetLogentriesByIdResponses]; + +export type PatchLogentriesByIdData = { + body: LogEntryPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/logentries/{id}'; +}; + +export type PatchLogentriesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchLogentriesByIdError = PatchLogentriesByIdErrors[keyof PatchLogentriesByIdErrors]; + +export type PatchLogentriesByIdResponses = { + /** + * successful operation + */ + 200: LogEntryPostPatchResponse; +}; + +export type PatchLogentriesByIdResponse = PatchLogentriesByIdResponses[keyof PatchLogentriesByIdResponses]; + +export type DeleteNotificationsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/notifications'; +}; + +export type DeleteNotificationsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteNotificationsError = DeleteNotificationsErrors[keyof DeleteNotificationsErrors]; + +export type DeleteNotificationsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetNotificationsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: user + */ + include?: string; + }; + url: '/api/v2/ui/notifications'; +}; + +export type GetNotificationsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetNotificationsError = GetNotificationsErrors[keyof GetNotificationsErrors]; + +export type GetNotificationsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetNotificationsResponse = GetNotificationsResponses[keyof GetNotificationsResponses]; + +export type PatchNotificationsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/notifications'; +}; + +export type PatchNotificationsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchNotificationsError = PatchNotificationsErrors[keyof PatchNotificationsErrors]; + +export type PatchNotificationsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostNotificationsData = { + body: NotificationSettingCreate; + path?: never; + query?: never; + url: '/api/v2/ui/notifications'; +}; + +export type PostNotificationsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostNotificationsError = PostNotificationsErrors[keyof PostNotificationsErrors]; + +export type PostNotificationsResponses = { + /** + * successful operation + */ + 201: NotificationSettingPostPatchResponse; +}; + +export type PostNotificationsResponse = PostNotificationsResponses[keyof PostNotificationsResponses]; + +export type GetNotificationsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: user + */ + include?: string; + }; + url: '/api/v2/ui/notifications/count'; +}; + +export type GetNotificationsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetNotificationsCountError = GetNotificationsCountErrors[keyof GetNotificationsCountErrors]; + +export type GetNotificationsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetNotificationsCountResponse = GetNotificationsCountResponses[keyof GetNotificationsCountResponses]; + +export type GetNotificationsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}/{relation}'; +}; + +export type GetNotificationsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetNotificationsByIdByRelationError = GetNotificationsByIdByRelationErrors[keyof GetNotificationsByIdByRelationErrors]; + +export type GetNotificationsByIdByRelationResponses = { + /** + * successful operation + */ + 200: NotificationSettingRelationUserGetResponse; +}; + +export type GetNotificationsByIdByRelationResponse = GetNotificationsByIdByRelationResponses[keyof GetNotificationsByIdByRelationResponses]; + +export type GetNotificationsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}/relationships/{relation}'; +}; + +export type GetNotificationsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetNotificationsByIdRelationshipsByRelationError = GetNotificationsByIdRelationshipsByRelationErrors[keyof GetNotificationsByIdRelationshipsByRelationErrors]; + +export type GetNotificationsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: NotificationSettingResponse; +}; + +export type GetNotificationsByIdRelationshipsByRelationResponse = GetNotificationsByIdRelationshipsByRelationResponses[keyof GetNotificationsByIdRelationshipsByRelationResponses]; + +export type PatchNotificationsByIdRelationshipsByRelationData = { + body: NotificationSettingRelationUser; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}/relationships/{relation}'; +}; + +export type PatchNotificationsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchNotificationsByIdRelationshipsByRelationError = PatchNotificationsByIdRelationshipsByRelationErrors[keyof PatchNotificationsByIdRelationshipsByRelationErrors]; + +export type PatchNotificationsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchNotificationsByIdRelationshipsByRelationResponse = PatchNotificationsByIdRelationshipsByRelationResponses[keyof PatchNotificationsByIdRelationshipsByRelationResponses]; + +export type DeleteNotificationsByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}'; +}; + +export type DeleteNotificationsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteNotificationsByIdError = DeleteNotificationsByIdErrors[keyof DeleteNotificationsByIdErrors]; + +export type DeleteNotificationsByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteNotificationsByIdResponse = DeleteNotificationsByIdResponses[keyof DeleteNotificationsByIdResponses]; + +export type GetNotificationsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/notifications/{id}'; +}; + +export type GetNotificationsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetNotificationsByIdError = GetNotificationsByIdErrors[keyof GetNotificationsByIdErrors]; + +export type GetNotificationsByIdResponses = { + /** + * successful operation + */ + 200: NotificationSettingResponse; +}; + +export type GetNotificationsByIdResponse = GetNotificationsByIdResponses[keyof GetNotificationsByIdResponses]; + +export type PatchNotificationsByIdData = { + body: NotificationSettingPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}'; +}; + +export type PatchNotificationsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchNotificationsByIdError = PatchNotificationsByIdErrors[keyof PatchNotificationsByIdErrors]; + +export type PatchNotificationsByIdResponses = { + /** + * successful operation + */ + 200: NotificationSettingPostPatchResponse; +}; + +export type PatchNotificationsByIdResponse = PatchNotificationsByIdResponses[keyof PatchNotificationsByIdResponses]; + +export type DeletePreprocessorsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/preprocessors'; +}; + +export type DeletePreprocessorsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeletePreprocessorsError = DeletePreprocessorsErrors[keyof DeletePreprocessorsErrors]; + +export type DeletePreprocessorsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetPreprocessorsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/preprocessors'; +}; + +export type GetPreprocessorsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetPreprocessorsError = GetPreprocessorsErrors[keyof GetPreprocessorsErrors]; + +export type GetPreprocessorsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetPreprocessorsResponse = GetPreprocessorsResponses[keyof GetPreprocessorsResponses]; + +export type PatchPreprocessorsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/preprocessors'; +}; + +export type PatchPreprocessorsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchPreprocessorsError = PatchPreprocessorsErrors[keyof PatchPreprocessorsErrors]; + +export type PatchPreprocessorsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostPreprocessorsData = { + body: PreprocessorCreate; + path?: never; + query?: never; + url: '/api/v2/ui/preprocessors'; +}; + +export type PostPreprocessorsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostPreprocessorsError = PostPreprocessorsErrors[keyof PostPreprocessorsErrors]; + +export type PostPreprocessorsResponses = { + /** + * successful operation + */ + 201: PreprocessorPostPatchResponse; +}; + +export type PostPreprocessorsResponse = PostPreprocessorsResponses[keyof PostPreprocessorsResponses]; + +export type GetPreprocessorsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/preprocessors/count'; +}; + +export type GetPreprocessorsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetPreprocessorsCountError = GetPreprocessorsCountErrors[keyof GetPreprocessorsCountErrors]; + +export type GetPreprocessorsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetPreprocessorsCountResponse = GetPreprocessorsCountResponses[keyof GetPreprocessorsCountResponses]; + +export type DeletePreprocessorsByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/preprocessors/{id}'; +}; + +export type DeletePreprocessorsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeletePreprocessorsByIdError = DeletePreprocessorsByIdErrors[keyof DeletePreprocessorsByIdErrors]; + +export type DeletePreprocessorsByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeletePreprocessorsByIdResponse = DeletePreprocessorsByIdResponses[keyof DeletePreprocessorsByIdResponses]; + +export type GetPreprocessorsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/preprocessors/{id}'; +}; + +export type GetPreprocessorsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetPreprocessorsByIdError = GetPreprocessorsByIdErrors[keyof GetPreprocessorsByIdErrors]; + +export type GetPreprocessorsByIdResponses = { + /** + * successful operation + */ + 200: PreprocessorResponse; +}; + +export type GetPreprocessorsByIdResponse = GetPreprocessorsByIdResponses[keyof GetPreprocessorsByIdResponses]; + +export type PatchPreprocessorsByIdData = { + body: PreprocessorPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/preprocessors/{id}'; +}; + +export type PatchPreprocessorsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchPreprocessorsByIdError = PatchPreprocessorsByIdErrors[keyof PatchPreprocessorsByIdErrors]; + +export type PatchPreprocessorsByIdResponses = { + /** + * successful operation + */ + 200: PreprocessorPostPatchResponse; +}; + +export type PatchPreprocessorsByIdResponse = PatchPreprocessorsByIdResponses[keyof PatchPreprocessorsByIdResponses]; + +export type DeletePretasksData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/pretasks'; +}; + +export type DeletePretasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeletePretasksError = DeletePretasksErrors[keyof DeletePretasksErrors]; + +export type DeletePretasksResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetPretasksData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: pretaskFiles + */ + include?: string; + }; + url: '/api/v2/ui/pretasks'; +}; + +export type GetPretasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetPretasksError = GetPretasksErrors[keyof GetPretasksErrors]; + +export type GetPretasksResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetPretasksResponse = GetPretasksResponses[keyof GetPretasksResponses]; + +export type PatchPretasksData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/pretasks'; +}; + +export type PatchPretasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchPretasksError = PatchPretasksErrors[keyof PatchPretasksErrors]; + +export type PatchPretasksResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostPretasksData = { + body: PretaskCreate; + path?: never; + query?: never; + url: '/api/v2/ui/pretasks'; +}; + +export type PostPretasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostPretasksError = PostPretasksErrors[keyof PostPretasksErrors]; + +export type PostPretasksResponses = { + /** + * successful operation + */ + 201: PretaskPostPatchResponse; +}; + +export type PostPretasksResponse = PostPretasksResponses[keyof PostPretasksResponses]; + +export type GetPretasksCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: pretaskFiles + */ + include?: string; + }; + url: '/api/v2/ui/pretasks/count'; +}; + +export type GetPretasksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetPretasksCountError = GetPretasksCountErrors[keyof GetPretasksCountErrors]; + +export type GetPretasksCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetPretasksCountResponse = GetPretasksCountResponses[keyof GetPretasksCountResponses]; + +export type GetPretasksByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/{relation}'; +}; + +export type GetPretasksByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetPretasksByIdByRelationError = GetPretasksByIdByRelationErrors[keyof GetPretasksByIdByRelationErrors]; + +export type GetPretasksByIdByRelationResponses = { + /** + * successful operation + */ + 200: PretaskRelationPretaskFilesGetResponse; +}; + +export type GetPretasksByIdByRelationResponse = GetPretasksByIdByRelationResponses[keyof GetPretasksByIdByRelationResponses]; + +export type DeletePretasksByIdRelationshipsByRelationData = { + body: PretaskRelationPretaskFiles; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; +}; + +export type DeletePretasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeletePretasksByIdRelationshipsByRelationError = DeletePretasksByIdRelationshipsByRelationErrors[keyof DeletePretasksByIdRelationshipsByRelationErrors]; + +export type DeletePretasksByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeletePretasksByIdRelationshipsByRelationResponse = DeletePretasksByIdRelationshipsByRelationResponses[keyof DeletePretasksByIdRelationshipsByRelationResponses]; + +export type GetPretasksByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; +}; + +export type GetPretasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetPretasksByIdRelationshipsByRelationError = GetPretasksByIdRelationshipsByRelationErrors[keyof GetPretasksByIdRelationshipsByRelationErrors]; + +export type GetPretasksByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: PretaskResponse; +}; + +export type GetPretasksByIdRelationshipsByRelationResponse = GetPretasksByIdRelationshipsByRelationResponses[keyof GetPretasksByIdRelationshipsByRelationResponses]; + +export type PatchPretasksByIdRelationshipsByRelationData = { + body: PretaskRelationPretaskFiles; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; +}; + +export type PatchPretasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchPretasksByIdRelationshipsByRelationError = PatchPretasksByIdRelationshipsByRelationErrors[keyof PatchPretasksByIdRelationshipsByRelationErrors]; + +export type PatchPretasksByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchPretasksByIdRelationshipsByRelationResponse = PatchPretasksByIdRelationshipsByRelationResponses[keyof PatchPretasksByIdRelationshipsByRelationResponses]; + +export type PostPretasksByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; +}; + +export type PostPretasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostPretasksByIdRelationshipsByRelationError = PostPretasksByIdRelationshipsByRelationErrors[keyof PostPretasksByIdRelationshipsByRelationErrors]; + +export type PostPretasksByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostPretasksByIdRelationshipsByRelationResponse = PostPretasksByIdRelationshipsByRelationResponses[keyof PostPretasksByIdRelationshipsByRelationResponses]; + +export type DeletePretasksByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}'; +}; + +export type DeletePretasksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeletePretasksByIdError = DeletePretasksByIdErrors[keyof DeletePretasksByIdErrors]; + +export type DeletePretasksByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeletePretasksByIdResponse = DeletePretasksByIdResponses[keyof DeletePretasksByIdResponses]; + +export type GetPretasksByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/pretasks/{id}'; +}; + +export type GetPretasksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetPretasksByIdError = GetPretasksByIdErrors[keyof GetPretasksByIdErrors]; + +export type GetPretasksByIdResponses = { + /** + * successful operation + */ + 200: PretaskResponse; +}; + +export type GetPretasksByIdResponse = GetPretasksByIdResponses[keyof GetPretasksByIdResponses]; + +export type PatchPretasksByIdData = { + body: PretaskPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}'; +}; + +export type PatchPretasksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchPretasksByIdError = PatchPretasksByIdErrors[keyof PatchPretasksByIdErrors]; + +export type PatchPretasksByIdResponses = { + /** + * successful operation + */ + 200: PretaskPostPatchResponse; +}; + +export type PatchPretasksByIdResponse = PatchPretasksByIdResponses[keyof PatchPretasksByIdResponses]; + +export type GetSpeedsData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: agent,task + */ + include?: string; + }; + url: '/api/v2/ui/speeds'; +}; + +export type GetSpeedsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetSpeedsError = GetSpeedsErrors[keyof GetSpeedsErrors]; + +export type GetSpeedsResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetSpeedsResponse = GetSpeedsResponses[keyof GetSpeedsResponses]; + +export type GetSpeedsCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: agent,task + */ + include?: string; + }; + url: '/api/v2/ui/speeds/count'; +}; + +export type GetSpeedsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetSpeedsCountError = GetSpeedsCountErrors[keyof GetSpeedsCountErrors]; + +export type GetSpeedsCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetSpeedsCountResponse = GetSpeedsCountResponses[keyof GetSpeedsCountResponses]; + +export type GetSpeedsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/speeds/{id}/{relation}'; +}; + +export type GetSpeedsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetSpeedsByIdByRelationError = GetSpeedsByIdByRelationErrors[keyof GetSpeedsByIdByRelationErrors]; + +export type GetSpeedsByIdByRelationResponses = { + /** + * successful operation + */ + 200: SpeedRelationTaskGetResponse; +}; + +export type GetSpeedsByIdByRelationResponse = GetSpeedsByIdByRelationResponses[keyof GetSpeedsByIdByRelationResponses]; + +export type GetSpeedsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/speeds/{id}/relationships/{relation}'; +}; + +export type GetSpeedsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetSpeedsByIdRelationshipsByRelationError = GetSpeedsByIdRelationshipsByRelationErrors[keyof GetSpeedsByIdRelationshipsByRelationErrors]; + +export type GetSpeedsByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: SpeedResponse; +}; + +export type GetSpeedsByIdRelationshipsByRelationResponse = GetSpeedsByIdRelationshipsByRelationResponses[keyof GetSpeedsByIdRelationshipsByRelationResponses]; + +export type PatchSpeedsByIdRelationshipsByRelationData = { + body: SpeedRelationTask; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/speeds/{id}/relationships/{relation}'; +}; + +export type PatchSpeedsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchSpeedsByIdRelationshipsByRelationError = PatchSpeedsByIdRelationshipsByRelationErrors[keyof PatchSpeedsByIdRelationshipsByRelationErrors]; + +export type PatchSpeedsByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchSpeedsByIdRelationshipsByRelationResponse = PatchSpeedsByIdRelationshipsByRelationResponses[keyof PatchSpeedsByIdRelationshipsByRelationResponses]; + +export type GetSpeedsByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/speeds/{id}'; +}; + +export type GetSpeedsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetSpeedsByIdError = GetSpeedsByIdErrors[keyof GetSpeedsByIdErrors]; + +export type GetSpeedsByIdResponses = { + /** + * successful operation + */ + 200: SpeedResponse; +}; + +export type GetSpeedsByIdResponse = GetSpeedsByIdResponses[keyof GetSpeedsByIdResponses]; + +export type DeleteSupertasksData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/supertasks'; +}; + +export type DeleteSupertasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteSupertasksError = DeleteSupertasksErrors[keyof DeleteSupertasksErrors]; + +export type DeleteSupertasksResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetSupertasksData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: pretasks + */ + include?: string; + }; + url: '/api/v2/ui/supertasks'; +}; + +export type GetSupertasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetSupertasksError = GetSupertasksErrors[keyof GetSupertasksErrors]; + +export type GetSupertasksResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetSupertasksResponse = GetSupertasksResponses[keyof GetSupertasksResponses]; + +export type PatchSupertasksData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/supertasks'; +}; + +export type PatchSupertasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchSupertasksError = PatchSupertasksErrors[keyof PatchSupertasksErrors]; + +export type PatchSupertasksResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostSupertasksData = { + body: SupertaskCreate; + path?: never; + query?: never; + url: '/api/v2/ui/supertasks'; +}; + +export type PostSupertasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostSupertasksError = PostSupertasksErrors[keyof PostSupertasksErrors]; + +export type PostSupertasksResponses = { + /** + * successful operation + */ + 201: SupertaskPostPatchResponse; +}; + +export type PostSupertasksResponse = PostSupertasksResponses[keyof PostSupertasksResponses]; + +export type GetSupertasksCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: pretasks + */ + include?: string; + }; + url: '/api/v2/ui/supertasks/count'; +}; + +export type GetSupertasksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetSupertasksCountError = GetSupertasksCountErrors[keyof GetSupertasksCountErrors]; + +export type GetSupertasksCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetSupertasksCountResponse = GetSupertasksCountResponses[keyof GetSupertasksCountResponses]; + +export type GetSupertasksByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/{relation}'; +}; + +export type GetSupertasksByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetSupertasksByIdByRelationError = GetSupertasksByIdByRelationErrors[keyof GetSupertasksByIdByRelationErrors]; + +export type GetSupertasksByIdByRelationResponses = { + /** + * successful operation + */ + 200: SupertaskRelationPretasksGetResponse; +}; + +export type GetSupertasksByIdByRelationResponse = GetSupertasksByIdByRelationResponses[keyof GetSupertasksByIdByRelationResponses]; + +export type DeleteSupertasksByIdRelationshipsByRelationData = { + body: SupertaskRelationPretasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; +}; + +export type DeleteSupertasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteSupertasksByIdRelationshipsByRelationError = DeleteSupertasksByIdRelationshipsByRelationErrors[keyof DeleteSupertasksByIdRelationshipsByRelationErrors]; + +export type DeleteSupertasksByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteSupertasksByIdRelationshipsByRelationResponse = DeleteSupertasksByIdRelationshipsByRelationResponses[keyof DeleteSupertasksByIdRelationshipsByRelationResponses]; + +export type GetSupertasksByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; +}; + +export type GetSupertasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetSupertasksByIdRelationshipsByRelationError = GetSupertasksByIdRelationshipsByRelationErrors[keyof GetSupertasksByIdRelationshipsByRelationErrors]; + +export type GetSupertasksByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: SupertaskResponse; +}; + +export type GetSupertasksByIdRelationshipsByRelationResponse = GetSupertasksByIdRelationshipsByRelationResponses[keyof GetSupertasksByIdRelationshipsByRelationResponses]; + +export type PatchSupertasksByIdRelationshipsByRelationData = { + body: SupertaskRelationPretasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; +}; + +export type PatchSupertasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchSupertasksByIdRelationshipsByRelationError = PatchSupertasksByIdRelationshipsByRelationErrors[keyof PatchSupertasksByIdRelationshipsByRelationErrors]; + +export type PatchSupertasksByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchSupertasksByIdRelationshipsByRelationResponse = PatchSupertasksByIdRelationshipsByRelationResponses[keyof PatchSupertasksByIdRelationshipsByRelationResponses]; + +export type PostSupertasksByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; +}; + +export type PostSupertasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostSupertasksByIdRelationshipsByRelationError = PostSupertasksByIdRelationshipsByRelationErrors[keyof PostSupertasksByIdRelationshipsByRelationErrors]; + +export type PostSupertasksByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostSupertasksByIdRelationshipsByRelationResponse = PostSupertasksByIdRelationshipsByRelationResponses[keyof PostSupertasksByIdRelationshipsByRelationResponses]; + +export type DeleteSupertasksByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}'; +}; + +export type DeleteSupertasksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteSupertasksByIdError = DeleteSupertasksByIdErrors[keyof DeleteSupertasksByIdErrors]; + +export type DeleteSupertasksByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteSupertasksByIdResponse = DeleteSupertasksByIdResponses[keyof DeleteSupertasksByIdResponses]; + +export type GetSupertasksByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/supertasks/{id}'; +}; + +export type GetSupertasksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetSupertasksByIdError = GetSupertasksByIdErrors[keyof GetSupertasksByIdErrors]; + +export type GetSupertasksByIdResponses = { + /** + * successful operation + */ + 200: SupertaskResponse; +}; + +export type GetSupertasksByIdResponse = GetSupertasksByIdResponses[keyof GetSupertasksByIdResponses]; + +export type PatchSupertasksByIdData = { + body: SupertaskPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}'; +}; + +export type PatchSupertasksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchSupertasksByIdError = PatchSupertasksByIdErrors[keyof PatchSupertasksByIdErrors]; + +export type PatchSupertasksByIdResponses = { + /** + * successful operation + */ + 200: SupertaskPostPatchResponse; +}; + +export type PatchSupertasksByIdResponse = PatchSupertasksByIdResponses[keyof PatchSupertasksByIdResponses]; + +export type DeleteTasksData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/tasks'; +}; + +export type DeleteTasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteTasksError = DeleteTasksErrors[keyof DeleteTasksErrors]; + +export type DeleteTasksResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetTasksData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds + */ + include?: string; + }; + url: '/api/v2/ui/tasks'; +}; + +export type GetTasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetTasksError = GetTasksErrors[keyof GetTasksErrors]; + +export type GetTasksResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetTasksResponse = GetTasksResponses[keyof GetTasksResponses]; + +export type PatchTasksData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/tasks'; +}; + +export type PatchTasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchTasksError = PatchTasksErrors[keyof PatchTasksErrors]; + +export type PatchTasksResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostTasksData = { + body: TaskCreate; + path?: never; + query?: never; + url: '/api/v2/ui/tasks'; +}; + +export type PostTasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostTasksError = PostTasksErrors[keyof PostTasksErrors]; + +export type PostTasksResponses = { + /** + * successful operation + */ + 201: TaskPostPatchResponse; +}; + +export type PostTasksResponse = PostTasksResponses[keyof PostTasksResponses]; + +export type GetTasksCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds + */ + include?: string; + }; + url: '/api/v2/ui/tasks/count'; +}; + +export type GetTasksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetTasksCountError = GetTasksCountErrors[keyof GetTasksCountErrors]; + +export type GetTasksCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetTasksCountResponse = GetTasksCountResponses[keyof GetTasksCountResponses]; + +export type GetTasksByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/{relation}'; +}; + +export type GetTasksByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetTasksByIdByRelationError = GetTasksByIdByRelationErrors[keyof GetTasksByIdByRelationErrors]; + +export type GetTasksByIdByRelationResponses = { + /** + * successful operation + */ + 200: TaskRelationSpeedsGetResponse; +}; + +export type GetTasksByIdByRelationResponse = GetTasksByIdByRelationResponses[keyof GetTasksByIdByRelationResponses]; + +export type DeleteTasksByIdRelationshipsByRelationData = { + body: TaskRelationSpeeds; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; +}; + +export type DeleteTasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteTasksByIdRelationshipsByRelationError = DeleteTasksByIdRelationshipsByRelationErrors[keyof DeleteTasksByIdRelationshipsByRelationErrors]; + +export type DeleteTasksByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteTasksByIdRelationshipsByRelationResponse = DeleteTasksByIdRelationshipsByRelationResponses[keyof DeleteTasksByIdRelationshipsByRelationResponses]; + +export type GetTasksByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; +}; + +export type GetTasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetTasksByIdRelationshipsByRelationError = GetTasksByIdRelationshipsByRelationErrors[keyof GetTasksByIdRelationshipsByRelationErrors]; + +export type GetTasksByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: TaskResponse; +}; + +export type GetTasksByIdRelationshipsByRelationResponse = GetTasksByIdRelationshipsByRelationResponses[keyof GetTasksByIdRelationshipsByRelationResponses]; + +export type PatchTasksByIdRelationshipsByRelationData = { + body: TaskRelationSpeeds; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; +}; + +export type PatchTasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchTasksByIdRelationshipsByRelationError = PatchTasksByIdRelationshipsByRelationErrors[keyof PatchTasksByIdRelationshipsByRelationErrors]; + +export type PatchTasksByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchTasksByIdRelationshipsByRelationResponse = PatchTasksByIdRelationshipsByRelationResponses[keyof PatchTasksByIdRelationshipsByRelationResponses]; + +export type PostTasksByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; +}; + +export type PostTasksByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostTasksByIdRelationshipsByRelationError = PostTasksByIdRelationshipsByRelationErrors[keyof PostTasksByIdRelationshipsByRelationErrors]; + +export type PostTasksByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostTasksByIdRelationshipsByRelationResponse = PostTasksByIdRelationshipsByRelationResponses[keyof PostTasksByIdRelationshipsByRelationResponses]; + +export type DeleteTasksByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}'; +}; + +export type DeleteTasksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteTasksByIdError = DeleteTasksByIdErrors[keyof DeleteTasksByIdErrors]; + +export type DeleteTasksByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteTasksByIdResponse = DeleteTasksByIdResponses[keyof DeleteTasksByIdResponses]; + +export type GetTasksByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/tasks/{id}'; +}; + +export type GetTasksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetTasksByIdError = GetTasksByIdErrors[keyof GetTasksByIdErrors]; + +export type GetTasksByIdResponses = { + /** + * successful operation + */ + 200: TaskResponse; +}; + +export type GetTasksByIdResponse = GetTasksByIdResponses[keyof GetTasksByIdResponses]; + +export type PatchTasksByIdData = { + body: TaskPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}'; +}; + +export type PatchTasksByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchTasksByIdError = PatchTasksByIdErrors[keyof PatchTasksByIdErrors]; + +export type PatchTasksByIdResponses = { + /** + * successful operation + */ + 200: TaskPostPatchResponse; +}; + +export type PatchTasksByIdResponse = PatchTasksByIdResponses[keyof PatchTasksByIdResponses]; + +export type DeleteTaskwrappersData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/taskwrappers'; +}; + +export type DeleteTaskwrappersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteTaskwrappersError = DeleteTaskwrappersErrors[keyof DeleteTaskwrappersErrors]; + +export type DeleteTaskwrappersResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetTaskwrappersData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks + */ + include?: string; + }; + url: '/api/v2/ui/taskwrappers'; +}; + +export type GetTaskwrappersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetTaskwrappersError = GetTaskwrappersErrors[keyof GetTaskwrappersErrors]; + +export type GetTaskwrappersResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetTaskwrappersResponse = GetTaskwrappersResponses[keyof GetTaskwrappersResponses]; + +export type PatchTaskwrappersData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/taskwrappers'; +}; + +export type PatchTaskwrappersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchTaskwrappersError = PatchTaskwrappersErrors[keyof PatchTaskwrappersErrors]; + +export type PatchTaskwrappersResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetTaskwrappersCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks + */ + include?: string; + }; + url: '/api/v2/ui/taskwrappers/count'; +}; + +export type GetTaskwrappersCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetTaskwrappersCountError = GetTaskwrappersCountErrors[keyof GetTaskwrappersCountErrors]; + +export type GetTaskwrappersCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetTaskwrappersCountResponse = GetTaskwrappersCountResponses[keyof GetTaskwrappersCountResponses]; + +export type GetTaskwrappersByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/{relation}'; +}; + +export type GetTaskwrappersByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetTaskwrappersByIdByRelationError = GetTaskwrappersByIdByRelationErrors[keyof GetTaskwrappersByIdByRelationErrors]; + +export type GetTaskwrappersByIdByRelationResponses = { + /** + * successful operation + */ + 200: TaskWrapperRelationTasksGetResponse; +}; + +export type GetTaskwrappersByIdByRelationResponse = GetTaskwrappersByIdByRelationResponses[keyof GetTaskwrappersByIdByRelationResponses]; + +export type DeleteTaskwrappersByIdRelationshipsByRelationData = { + body: TaskWrapperRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; +}; + +export type DeleteTaskwrappersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteTaskwrappersByIdRelationshipsByRelationError = DeleteTaskwrappersByIdRelationshipsByRelationErrors[keyof DeleteTaskwrappersByIdRelationshipsByRelationErrors]; + +export type DeleteTaskwrappersByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteTaskwrappersByIdRelationshipsByRelationResponse = DeleteTaskwrappersByIdRelationshipsByRelationResponses[keyof DeleteTaskwrappersByIdRelationshipsByRelationResponses]; + +export type GetTaskwrappersByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; +}; + +export type GetTaskwrappersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetTaskwrappersByIdRelationshipsByRelationError = GetTaskwrappersByIdRelationshipsByRelationErrors[keyof GetTaskwrappersByIdRelationshipsByRelationErrors]; + +export type GetTaskwrappersByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: TaskWrapperResponse; +}; + +export type GetTaskwrappersByIdRelationshipsByRelationResponse = GetTaskwrappersByIdRelationshipsByRelationResponses[keyof GetTaskwrappersByIdRelationshipsByRelationResponses]; + +export type PatchTaskwrappersByIdRelationshipsByRelationData = { + body: TaskWrapperRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; +}; + +export type PatchTaskwrappersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchTaskwrappersByIdRelationshipsByRelationError = PatchTaskwrappersByIdRelationshipsByRelationErrors[keyof PatchTaskwrappersByIdRelationshipsByRelationErrors]; + +export type PatchTaskwrappersByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchTaskwrappersByIdRelationshipsByRelationResponse = PatchTaskwrappersByIdRelationshipsByRelationResponses[keyof PatchTaskwrappersByIdRelationshipsByRelationResponses]; + +export type PostTaskwrappersByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; +}; + +export type PostTaskwrappersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostTaskwrappersByIdRelationshipsByRelationError = PostTaskwrappersByIdRelationshipsByRelationErrors[keyof PostTaskwrappersByIdRelationshipsByRelationErrors]; + +export type PostTaskwrappersByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostTaskwrappersByIdRelationshipsByRelationResponse = PostTaskwrappersByIdRelationshipsByRelationResponses[keyof PostTaskwrappersByIdRelationshipsByRelationResponses]; + +export type DeleteTaskwrappersByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}'; +}; + +export type DeleteTaskwrappersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteTaskwrappersByIdError = DeleteTaskwrappersByIdErrors[keyof DeleteTaskwrappersByIdErrors]; + +export type DeleteTaskwrappersByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteTaskwrappersByIdResponse = DeleteTaskwrappersByIdResponses[keyof DeleteTaskwrappersByIdResponses]; + +export type GetTaskwrappersByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/taskwrappers/{id}'; +}; + +export type GetTaskwrappersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetTaskwrappersByIdError = GetTaskwrappersByIdErrors[keyof GetTaskwrappersByIdErrors]; + +export type GetTaskwrappersByIdResponses = { + /** + * successful operation + */ + 200: TaskWrapperResponse; +}; + +export type GetTaskwrappersByIdResponse = GetTaskwrappersByIdResponses[keyof GetTaskwrappersByIdResponses]; + +export type PatchTaskwrappersByIdData = { + body: TaskWrapperPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}'; +}; + +export type PatchTaskwrappersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchTaskwrappersByIdError = PatchTaskwrappersByIdErrors[keyof PatchTaskwrappersByIdErrors]; + +export type PatchTaskwrappersByIdResponses = { + /** + * successful operation + */ + 200: TaskWrapperPostPatchResponse; +}; + +export type PatchTaskwrappersByIdResponse = PatchTaskwrappersByIdResponses[keyof PatchTaskwrappersByIdResponses]; + +export type DeleteUsersData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/users'; +}; + +export type DeleteUsersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteUsersError = DeleteUsersErrors[keyof DeleteUsersErrors]; + +export type DeleteUsersResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetUsersData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups + */ + include?: string; + }; + url: '/api/v2/ui/users'; +}; + +export type GetUsersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetUsersError = GetUsersErrors[keyof GetUsersErrors]; + +export type GetUsersResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetUsersResponse = GetUsersResponses[keyof GetUsersResponses]; + +export type PatchUsersData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/users'; +}; + +export type PatchUsersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchUsersError = PatchUsersErrors[keyof PatchUsersErrors]; + +export type PatchUsersResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostUsersData = { + body: UserCreate; + path?: never; + query?: never; + url: '/api/v2/ui/users'; +}; + +export type PostUsersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostUsersError = PostUsersErrors[keyof PostUsersErrors]; + +export type PostUsersResponses = { + /** + * successful operation + */ + 201: UserPostPatchResponse; +}; + +export type PostUsersResponse = PostUsersResponses[keyof PostUsersResponses]; + +export type GetUsersCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups + */ + include?: string; + }; + url: '/api/v2/ui/users/count'; +}; + +export type GetUsersCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetUsersCountError = GetUsersCountErrors[keyof GetUsersCountErrors]; + +export type GetUsersCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetUsersCountResponse = GetUsersCountResponses[keyof GetUsersCountResponses]; + +export type GetUsersByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/{relation}'; +}; + +export type GetUsersByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetUsersByIdByRelationError = GetUsersByIdByRelationErrors[keyof GetUsersByIdByRelationErrors]; + +export type GetUsersByIdByRelationResponses = { + /** + * successful operation + */ + 200: UserRelationAccessGroupsGetResponse; +}; + +export type GetUsersByIdByRelationResponse = GetUsersByIdByRelationResponses[keyof GetUsersByIdByRelationResponses]; + +export type DeleteUsersByIdRelationshipsByRelationData = { + body: UserRelationAccessGroups; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/relationships/{relation}'; +}; + +export type DeleteUsersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteUsersByIdRelationshipsByRelationError = DeleteUsersByIdRelationshipsByRelationErrors[keyof DeleteUsersByIdRelationshipsByRelationErrors]; + +export type DeleteUsersByIdRelationshipsByRelationResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteUsersByIdRelationshipsByRelationResponse = DeleteUsersByIdRelationshipsByRelationResponses[keyof DeleteUsersByIdRelationshipsByRelationResponses]; + +export type GetUsersByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/relationships/{relation}'; +}; + +export type GetUsersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetUsersByIdRelationshipsByRelationError = GetUsersByIdRelationshipsByRelationErrors[keyof GetUsersByIdRelationshipsByRelationErrors]; + +export type GetUsersByIdRelationshipsByRelationResponses = { + /** + * successful operation + */ + 200: UserResponse; +}; + +export type GetUsersByIdRelationshipsByRelationResponse = GetUsersByIdRelationshipsByRelationResponses[keyof GetUsersByIdRelationshipsByRelationResponses]; + +export type PatchUsersByIdRelationshipsByRelationData = { + body: UserRelationAccessGroups; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/relationships/{relation}'; +}; + +export type PatchUsersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchUsersByIdRelationshipsByRelationError = PatchUsersByIdRelationshipsByRelationErrors[keyof PatchUsersByIdRelationshipsByRelationErrors]; + +export type PatchUsersByIdRelationshipsByRelationResponses = { + /** + * Successfull operation + */ + 204: void; +}; + +export type PatchUsersByIdRelationshipsByRelationResponse = PatchUsersByIdRelationshipsByRelationResponses[keyof PatchUsersByIdRelationshipsByRelationResponses]; + +export type PostUsersByIdRelationshipsByRelationData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/relationships/{relation}'; +}; + +export type PostUsersByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostUsersByIdRelationshipsByRelationError = PostUsersByIdRelationshipsByRelationErrors[keyof PostUsersByIdRelationshipsByRelationErrors]; + +export type PostUsersByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; +}; + +export type PostUsersByIdRelationshipsByRelationResponse = PostUsersByIdRelationshipsByRelationResponses[keyof PostUsersByIdRelationshipsByRelationResponses]; + +export type DeleteUsersByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/users/{id}'; +}; + +export type DeleteUsersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteUsersByIdError = DeleteUsersByIdErrors[keyof DeleteUsersByIdErrors]; + +export type DeleteUsersByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteUsersByIdResponse = DeleteUsersByIdResponses[keyof DeleteUsersByIdResponses]; + +export type GetUsersByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/users/{id}'; +}; + +export type GetUsersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetUsersByIdError = GetUsersByIdErrors[keyof GetUsersByIdErrors]; + +export type GetUsersByIdResponses = { + /** + * successful operation + */ + 200: UserResponse; +}; + +export type GetUsersByIdResponse = GetUsersByIdResponses[keyof GetUsersByIdResponses]; + +export type PatchUsersByIdData = { + body: UserPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/users/{id}'; +}; + +export type PatchUsersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchUsersByIdError = PatchUsersByIdErrors[keyof PatchUsersByIdErrors]; + +export type PatchUsersByIdResponses = { + /** + * successful operation + */ + 200: UserPostPatchResponse; +}; + +export type PatchUsersByIdResponse = PatchUsersByIdResponses[keyof PatchUsersByIdResponses]; + +export type DeleteVouchersData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/vouchers'; +}; + +export type DeleteVouchersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteVouchersError = DeleteVouchersErrors[keyof DeleteVouchersErrors]; + +export type DeleteVouchersResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetVouchersData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/vouchers'; +}; + +export type GetVouchersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetVouchersError = GetVouchersErrors[keyof GetVouchersErrors]; + +export type GetVouchersResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetVouchersResponse = GetVouchersResponses[keyof GetVouchersResponses]; + +export type PatchVouchersData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/vouchers'; +}; + +export type PatchVouchersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PatchVouchersError = PatchVouchersErrors[keyof PatchVouchersErrors]; + +export type PatchVouchersResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostVouchersData = { + body: RegVoucherCreate; + path?: never; + query?: never; + url: '/api/v2/ui/vouchers'; +}; + +export type PostVouchersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type PostVouchersError = PostVouchersErrors[keyof PostVouchersErrors]; + +export type PostVouchersResponses = { + /** + * successful operation + */ + 201: RegVoucherPostPatchResponse; +}; + +export type PostVouchersResponse = PostVouchersResponses[keyof PostVouchersResponses]; + +export type GetVouchersCountData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: + */ + include?: string; + }; + url: '/api/v2/ui/vouchers/count'; +}; + +export type GetVouchersCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetVouchersCountError = GetVouchersCountErrors[keyof GetVouchersCountErrors]; + +export type GetVouchersCountResponses = { + /** + * successful operation + */ + 200: Array; +}; + +export type GetVouchersCountResponse = GetVouchersCountResponses[keyof GetVouchersCountResponses]; + +export type DeleteVouchersByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/vouchers/{id}'; +}; + +export type DeleteVouchersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteVouchersByIdError = DeleteVouchersByIdErrors[keyof DeleteVouchersByIdErrors]; + +export type DeleteVouchersByIdResponses = { + /** + * successfully deleted + */ + 204: void; +}; + +export type DeleteVouchersByIdResponse = DeleteVouchersByIdResponses[keyof DeleteVouchersByIdResponses]; + +export type GetVouchersByIdData = { + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/vouchers/{id}'; +}; + +export type GetVouchersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetVouchersByIdError = GetVouchersByIdErrors[keyof GetVouchersByIdErrors]; + +export type GetVouchersByIdResponses = { + /** + * successful operation + */ + 200: RegVoucherResponse; +}; + +export type GetVouchersByIdResponse = GetVouchersByIdResponses[keyof GetVouchersByIdResponses]; + +export type PatchVouchersByIdData = { + body: RegVoucherPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/vouchers/{id}'; +}; + +export type PatchVouchersByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchVouchersByIdError = PatchVouchersByIdErrors[keyof PatchVouchersByIdErrors]; + +export type PatchVouchersByIdResponses = { + /** + * successful operation + */ + 200: RegVoucherPostPatchResponse; +}; + +export type PatchVouchersByIdResponse = PatchVouchersByIdResponses[keyof PatchVouchersByIdResponses]; + +export type PostAbortChunkData = { + /** + * ChunkID is the ID of the chunk that needs to be aborted.
+ */ + body: AbortChunkHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/abortChunk'; +}; + +export type PostAbortChunkResponses = { + /** + * successful operation + */ + 200: AbortChunkHelperApiResponse; +}; + +export type PostAbortChunkResponse = PostAbortChunkResponses[keyof PostAbortChunkResponses]; + +export type PostAssignAgentData = { + /** + * The agentId is the Id of the agent that has to be assigned to the task.
The taskId is the Id of the task that will be assigned to the agent. If this is set to 0,
the agent will be unassigned from its current assigned task.
+ */ + body: AssignAgentHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/assignAgent'; +}; + +export type PostAssignAgentResponses = { + /** + * successful operation + */ + 200: AssignAgentHelperApiResponse; +}; + +export type PostAssignAgentResponse = PostAssignAgentResponses[keyof PostAssignAgentResponses]; + +export type PostBulkSupertaskBuilderData = { + body: BulkSupertaskBuilderHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/bulkSupertaskBuilder'; +}; + +export type PostBulkSupertaskBuilderResponses = { + /** + * successful operation + */ + 200: SupertaskSingleResponse; +}; + +export type PostBulkSupertaskBuilderResponse = PostBulkSupertaskBuilderResponses[keyof PostBulkSupertaskBuilderResponses]; + +export type PostChangeOwnPasswordData = { + /** + * oldPassword is the current password of the user.
newPassword is the new password that you want to set.
confirmPassword is the new password again to confirm it.
+ */ + body: ChangeOwnPasswordHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/changeOwnPassword'; +}; + +export type PostChangeOwnPasswordResponses = { + /** + * successful operation + */ + 200: ChangeOwnPasswordHelperApiResponse; +}; + +export type PostChangeOwnPasswordResponse = PostChangeOwnPasswordResponses[keyof PostChangeOwnPasswordResponses]; + +export type PostCreateSuperHashlistData = { + /** + * HashlistIds is an array of hashlist ids of the hashlists that have to be combined into a superHashlist.
Name is the name of the newly created superHashlist.
+ */ + body: CreateSuperHashlistHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/createSuperHashlist'; +}; + +export type PostCreateSuperHashlistResponses = { + /** + * successful operation + */ + 200: HashlistSingleResponse; +}; + +export type PostCreateSuperHashlistResponse = PostCreateSuperHashlistResponses[keyof PostCreateSuperHashlistResponses]; + +export type PostCreateSupertaskData = { + /** + * supertaskTemplateId is the the Id of the supertasktemplate of which you want to create a supertask of.
hashlistId is the Id of the hashlist that has to be used for the supertask.
crackerVersionId is the Id of the crackerversion that is used for the created supertask.
+ */ + body: CreateSupertaskHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/createSupertask'; +}; + +export type PostCreateSupertaskResponses = { + /** + * successful operation + */ + 200: TaskWrapperSingleResponse; +}; + +export type PostCreateSupertaskResponse = PostCreateSupertaskResponses[keyof PostCreateSupertaskResponses]; + +export type GetCurrentUserData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/currentUser'; +}; + +export type GetCurrentUserResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PatchCurrentUserData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/currentUser'; +}; + +export type PatchCurrentUserResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostExportCrackedHashesData = { + /** + * hashlistId is the Id of the hashlist where you want to export the hashes of.
+ */ + body: ExportCrackedHashesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/exportCrackedHashes'; +}; + +export type PostExportCrackedHashesResponses = { + /** + * successful operation + */ + 200: FileSingleResponse; +}; + +export type PostExportCrackedHashesResponse = PostExportCrackedHashesResponses[keyof PostExportCrackedHashesResponses]; + +export type PostExportLeftHashesData = { + /** + * hashlistId is the id of the hashlist where you want to export the uncracked hashes of.
+ */ + body: ExportLeftHashesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/exportLeftHashes'; +}; + +export type PostExportLeftHashesResponses = { + /** + * successful operation + */ + 200: FileSingleResponse; +}; + +export type PostExportLeftHashesResponse = PostExportLeftHashesResponses[keyof PostExportLeftHashesResponses]; + +export type PostExportWordlistData = { + /** + * hashlistId is the Id of the hashlist where you want to export the wordlist of.
+ */ + body: ExportWordlistHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/exportWordlist'; +}; + +export type PostExportWordlistResponses = { + /** + * successful operation + */ + 200: FileSingleResponse; +}; + +export type PostExportWordlistResponse = PostExportWordlistResponses[keyof PostExportWordlistResponses]; + +export type GetGetAccessGroupsData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/getAccessGroups'; +}; + +export type GetGetAccessGroupsResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetGetAgentBinaryData = { + body?: never; + path?: never; + query: { + /** + * The ID of the agent zip to download. + */ + agent: number; + }; + url: '/api/v2/helper/getAgentBinary'; +}; + +export type GetGetAgentBinaryResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetGetBestTasksAgentData = { + body?: never; + path?: never; + query: { + /** + * The ID of the agent. + */ + agent: number; + }; + url: '/api/v2/helper/getBestTasksAgent'; +}; + +export type GetGetBestTasksAgentResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetGetCracksOfTaskData = { + body?: never; + path?: never; + query: { + /** + * The ID of the task. + */ + task: number; + }; + url: '/api/v2/helper/getCracksOfTask'; +}; + +export type GetGetCracksOfTaskResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetGetFileData = { + body?: never; + path?: never; + query: { + /** + * The ID of the file to download. + */ + file: number; + }; + url: '/api/v2/helper/getFile'; +}; + +export type GetGetFileResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetGetTaskProgressImageData = { + body?: never; + path?: never; + query?: { + /** + * The ID of the supertask where you want to create the progress image of. + */ + supertask?: number; + /** + * The ID of the task where you want to create the progress image of. + */ + task?: number; + }; + url: '/api/v2/helper/getTaskProgressImage'; +}; + +export type GetGetTaskProgressImageResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetGetUserPermissionData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/getUserPermission'; +}; + +export type GetGetUserPermissionResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostImportCrackedHashesData = { + /** + * HashlistId is the Id of the hashlist where you want to import the cracked hashes into.
SourceData is the cracked hashes you want to import.
Seperator is the seperator that has been used for the salt in the hashes.
+ */ + body: ImportCrackedHashesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/importCrackedHashes'; +}; + +export type PostImportCrackedHashesResponses = { + /** + * successful operation + */ + 200: ImportCrackedHashesHelperApiResponse; +}; + +export type PostImportCrackedHashesResponse = PostImportCrackedHashesResponses[keyof PostImportCrackedHashesResponses]; + +export type GetImportFileData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/importFile'; +}; + +export type GetImportFileResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type PostImportFileData = { + /** + * Import file has no POST parameters
+ */ + body: ImportFileHelperApi; + headers: { + /** + * The Upload-Metadata header contains one or more comma-separated key-value pairs. + * Each pair is formatted as ` `, where: + * - `key` is a string without spaces. + * - `value` is base64-encoded + */ + 'Upload-Metadata': string; + /** + * The total size of the upload in bytes. Must be a positive integer. + * Required if `Upload-Defer-Length` is not set. + */ + 'Upload-Length'?: number; + /** + * Indicates that the upload length is not known at creation time. + * Value must be `1`. If present, `Upload-Length` must be omitted. + */ + 'Upload-Defer-Length'?: number; + }; + path?: never; + query?: never; + url: '/api/v2/helper/importFile'; +}; + +export type PostImportFileResponses = { + /** + * successful operation + */ + 200: unknown; + /** + * successful operation + */ + 201: Blob | File; +}; + +export type PostImportFileResponse = PostImportFileResponses[keyof PostImportFileResponses]; + +export type DeleteImportFileById09aF32Data = { + body?: never; + path: { + 32: string; + id: number; + }; + query?: never; + url: '/api/v2/helper/importFile/{id}-[0-9a-f]{32}}'; +}; + +export type DeleteImportFileById09aF32Responses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type HeadImportFileById09aF32Data = { + body?: never; + path: { + 32: string; + id: number; + }; + query?: never; + url: '/api/v2/helper/importFile/{id}-[0-9a-f]{32}}'; +}; + +export type HeadImportFileById09aF32Responses = { + /** + * successful request + */ + 200: unknown; +}; + +export type PatchImportFileById09aF32Data = { + /** + * The binary data to push to the file + */ + body: Blob | File; + headers: { + /** + * The Upload-Offset header's value MUST be equal to the current offset of the resource + */ + 'Upload-Offset': number; + 'Content-Type': 'application/offset+octet-stream'; + }; + path: { + 32: string; + id: number; + }; + query?: never; + url: '/api/v2/helper/importFile/{id}-[0-9a-f]{32}}'; +}; + +export type PatchImportFileById09aF32Responses = { + /** + * successful operation + */ + 200: unknown; + /** + * Chunk accepted + */ + 204: void; +}; + +export type PatchImportFileById09aF32Response = PatchImportFileById09aF32Responses[keyof PatchImportFileById09aF32Responses]; + +export type PostMaskSupertaskBuilderData = { + body: MaskSupertaskBuilderHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/maskSupertaskBuilder'; +}; + +export type PostMaskSupertaskBuilderResponses = { + /** + * successful operation + */ + 200: SupertaskSingleResponse; +}; + +export type PostMaskSupertaskBuilderResponse = PostMaskSupertaskBuilderResponses[keyof PostMaskSupertaskBuilderResponses]; + +export type PostPurgeTaskData = { + /** + * taskId is the id of the task that should be purged.
+ */ + body: PurgeTaskHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/purgeTask'; +}; + +export type PostPurgeTaskResponses = { + /** + * successful operation + */ + 200: PurgeTaskHelperApiResponse; +}; + +export type PostPurgeTaskResponse = PostPurgeTaskResponses[keyof PostPurgeTaskResponses]; + +export type PostRebuildChunkCacheData = { + body: RebuildChunkCacheHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/rebuildChunkCache'; +}; + +export type PostRebuildChunkCacheResponses = { + /** + * successful operation + */ + 200: RebuildChunkCacheHelperApiResponse; +}; + +export type PostRebuildChunkCacheResponse = PostRebuildChunkCacheResponses[keyof PostRebuildChunkCacheResponses]; + +export type PostRecountFileLinesData = { + /** + * FileId is the id of the file that needs to be recounted.
+ */ + body: RecountFileLinesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/recountFileLines'; +}; + +export type PostRecountFileLinesResponses = { + /** + * successful operation + */ + 200: FileSingleResponse; +}; + +export type PostRecountFileLinesResponse = PostRecountFileLinesResponses[keyof PostRecountFileLinesResponses]; + +export type PostRescanGlobalFilesData = { + body: RescanGlobalFilesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/rescanGlobalFiles'; +}; + +export type PostRescanGlobalFilesResponses = { + /** + * successful operation + */ + 200: RescanGlobalFilesHelperApiResponse; +}; + +export type PostRescanGlobalFilesResponse = PostRescanGlobalFilesResponses[keyof PostRescanGlobalFilesResponses]; + +export type PostResetChunkData = { + /** + * chunkId is the id of the chunk which you want to reset.
+ */ + body: ResetChunkHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/resetChunk'; +}; + +export type PostResetChunkResponses = { + /** + * successful operation + */ + 200: ResetChunkHelperApiResponse; +}; + +export type PostResetChunkResponse = PostResetChunkResponses[keyof PostResetChunkResponses]; + +export type PostResetUserPasswordData = { + body: ResetUserPasswordHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/resetUserPassword'; +}; + +export type PostResetUserPasswordResponses = { + /** + * successful operation + */ + 200: ResetUserPasswordHelperApiResponse; +}; + +export type PostResetUserPasswordResponse = PostResetUserPasswordResponses[keyof PostResetUserPasswordResponses]; + +export type PostSearchHashesData = { + body: SearchHashesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/searchHashes'; +}; + +export type PostSearchHashesResponses = { + /** + * successful operation + */ + 200: SearchHashesHelperApiResponse; +}; + +export type PostSearchHashesResponse = PostSearchHashesResponses[keyof PostSearchHashesResponses]; + +export type PostSetUserPasswordData = { + /** + * userId is the id of the user of which you want to change the password.
password is the new password that you want to set.
+ */ + body: SetUserPasswordHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/setUserPassword'; +}; + +export type PostSetUserPasswordResponses = { + /** + * successful operation + */ + 200: SetUserPasswordHelperApiResponse; +}; + +export type PostSetUserPasswordResponse = PostSetUserPasswordResponses[keyof PostSetUserPasswordResponses]; + +export type PostUnassignAgentData = { + /** + * agentId is the id of the agent which you want to unassign.
+ */ + body: UnassignAgentHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/unassignAgent'; +}; + +export type PostUnassignAgentResponses = { + /** + * successful operation + */ + 200: UnassignAgentHelperApiResponse; +}; + +export type PostUnassignAgentResponse = PostUnassignAgentResponses[keyof PostUnassignAgentResponses]; + +export type PostTokenData = { + body: TokenRequest; + path?: never; + query?: never; + url: '/api/v2/auth/token'; +}; + +export type PostTokenErrors = { + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostTokenError = PostTokenErrors[keyof PostTokenErrors]; + +export type PostTokenResponses = { + /** + * Success + */ + 200: Token; +}; + +export type PostTokenResponse = PostTokenResponses[keyof PostTokenResponses]; diff --git a/src/generated/api/zod.gen.ts b/src/generated/api/zod.gen.ts new file mode 100644 index 000000000..1d628b8d5 --- /dev/null +++ b/src/generated/api/zod.gen.ts @@ -0,0 +1,7467 @@ +// This file is auto-generated by @hey-api/openapi-ts + +import * as z from 'zod'; + +export const zErrorResponse = z.object({ + title: z.string().optional(), + type: z.string().optional(), + status: z.int().optional() +}); + +export const zNotFoundResponse = z.object({ + message: z.string().optional(), + exception: z.object({ + type: z.string().optional(), + code: z.int().optional(), + message: z.string().optional(), + file: z.string().optional(), + line: z.int().optional() + }).optional() +}); + +export const zAccessGroupCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\AccessGroup'), + attributes: z.object({ + groupName: z.string().optional() + }).optional() + }).optional() +}); + +export const zAccessGroupPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\AccessGroup'), + attributes: z.object({ + groupName: z.string().optional() + }).optional() + }).optional() +}); + +export const zAccessGroupResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\AccessGroup'), + attributes: z.object({ + groupName: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + agentMembers: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/accessgroups/relationships/agentMembers'), + related: z.string().optional().default('/api/v2/ui/accessgroups/agentMembers') + }).optional() + }).optional(), + userMembers: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/accessgroups/relationships/userMembers'), + related: z.string().optional().default('/api/v2/ui/accessgroups/userMembers') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('agentMembers'), + attributes: z.object({ + agentId: z.int().optional(), + agentName: z.string().optional(), + uid: z.string().optional(), + os: z.int().optional(), + devices: z.string().optional(), + cmdPars: z.string().optional(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]).optional(), + isActive: z.boolean().optional(), + isTrusted: z.boolean().optional(), + token: z.string().optional(), + lastAct: z.string().optional(), + lastTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + lastIp: z.string().optional(), + userId: z.int().optional(), + cpuOnly: z.boolean().optional(), + clientSignature: z.string().optional() + }).optional() + })).optional() +}); + +export const zAccessGroupPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\AccessGroup'), + attributes: z.object({ + groupName: z.string().optional() + }).optional() + })).optional() +}); + +export const zAccessGroupRelationAgentMembers = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('agentMembers'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zAccessGroupRelationAgentMembersGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('agentMembers'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zAgentPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Agent'), + attributes: z.object({ + agentName: z.string().optional(), + cmdPars: z.string().optional(), + cpuOnly: z.boolean().optional(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]).optional(), + isActive: z.boolean().optional(), + isTrusted: z.boolean().optional(), + os: z.int().optional(), + uid: z.string().optional(), + userId: z.int().optional() + }).optional() + }).optional() +}); + +export const zAgentResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agents?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Agent'), + attributes: z.object({ + agentName: z.string().optional(), + uid: z.string().optional(), + os: z.int().optional(), + devices: z.string().optional(), + cmdPars: z.string().optional(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]).optional(), + isActive: z.boolean().optional(), + isTrusted: z.boolean().optional(), + token: z.string().optional(), + lastAct: z.string().optional(), + lastTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + lastIp: z.string().optional(), + userId: z.int().optional(), + cpuOnly: z.boolean().optional(), + clientSignature: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + accessGroups: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agents/relationships/accessGroups'), + related: z.string().optional().default('/api/v2/ui/agents/accessGroups') + }).optional() + }).optional(), + agentErrors: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agents/relationships/agentErrors'), + related: z.string().optional().default('/api/v2/ui/agents/agentErrors') + }).optional() + }).optional(), + agentStats: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agents/relationships/agentStats'), + related: z.string().optional().default('/api/v2/ui/agents/agentStats') + }).optional() + }).optional(), + assignments: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agents/relationships/assignments'), + related: z.string().optional().default('/api/v2/ui/agents/assignments') + }).optional() + }).optional(), + chunks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agents/relationships/chunks'), + related: z.string().optional().default('/api/v2/ui/agents/chunks') + }).optional() + }).optional(), + tasks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agents/relationships/tasks'), + related: z.string().optional().default('/api/v2/ui/agents/tasks') + }).optional() + }).optional(), + user: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agents/relationships/user'), + related: z.string().optional().default('/api/v2/ui/agents/user') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('assignments'), + attributes: z.object({ + assignmentId: z.int().optional(), + taskId: z.int().optional(), + agentId: z.int().optional(), + benchmark: z.string().optional() + }).optional() + })).optional() +}); + +export const zAgentPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Agent'), + attributes: z.object({ + agentName: z.string().optional(), + uid: z.string().optional(), + os: z.int().optional(), + devices: z.string().optional(), + cmdPars: z.string().optional(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]).optional(), + isActive: z.boolean().optional(), + isTrusted: z.boolean().optional(), + token: z.string().optional(), + lastAct: z.string().optional(), + lastTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + lastIp: z.string().optional(), + userId: z.int().optional(), + cpuOnly: z.boolean().optional(), + clientSignature: z.string().optional() + }).optional() + })).optional() +}); + +export const zAgentRelationAssignments = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('assignments'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zAgentRelationAssignmentsGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('assignments'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zAssignmentCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Assignment'), + attributes: z.object({ + taskId: z.int().optional(), + agentId: z.int().optional(), + benchmark: z.string().optional() + }).optional() + }).optional() +}); + +export const zAssignmentPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Assignment'), + attributes: z.object({ + benchmark: z.string().optional() + }).optional() + }).optional() +}); + +export const zAssignmentResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Assignment'), + attributes: z.object({ + taskId: z.int().optional(), + agentId: z.int().optional(), + benchmark: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + agent: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agentassignments/relationships/agent'), + related: z.string().optional().default('/api/v2/ui/agentassignments/agent') + }).optional() + }).optional(), + task: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agentassignments/relationships/task'), + related: z.string().optional().default('/api/v2/ui/agentassignments/task') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('task'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zAssignmentPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Assignment'), + attributes: z.object({ + taskId: z.int().optional(), + agentId: z.int().optional(), + benchmark: z.string().optional() + }).optional() + })).optional() +}); + +export const zAssignmentRelationTask = z.object({ + data: z.object({ + type: z.string().optional().default('task'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zAssignmentRelationTaskGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('task'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zAgentBinaryCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\AgentBinary'), + attributes: z.object({ + binaryType: z.string().optional(), + version: z.string().optional(), + operatingSystems: z.string().optional(), + filename: z.string().optional(), + updateTrack: z.string().optional() + }).optional() + }).optional() +}); + +export const zAgentBinaryPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\AgentBinary'), + attributes: z.object({ + binaryType: z.string().optional(), + filename: z.string().optional(), + operatingSystems: z.string().optional(), + updateTrack: z.string().optional(), + version: z.string().optional() + }).optional() + }).optional() +}); + +export const zAgentBinaryResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\AgentBinary'), + attributes: z.object({ + binaryType: z.string().optional(), + version: z.string().optional(), + operatingSystems: z.string().optional(), + filename: z.string().optional(), + updateTrack: z.string().optional(), + updateAvailable: z.string().optional() + }).optional() + })).optional(), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zAgentBinaryPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\AgentBinary'), + attributes: z.object({ + binaryType: z.string().optional(), + version: z.string().optional(), + operatingSystems: z.string().optional(), + filename: z.string().optional(), + updateTrack: z.string().optional(), + updateAvailable: z.string().optional() + }).optional() + })).optional() +}); + +export const zAgentErrorResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\AgentError'), + attributes: z.object({ + agentId: z.int().optional(), + taskId: z.int().optional(), + chunkId: z.int().optional(), + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + error: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + task: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agenterrors/relationships/task'), + related: z.string().optional().default('/api/v2/ui/agenterrors/task') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('task'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zAgentErrorRelationTask = z.object({ + data: z.object({ + type: z.string().optional().default('task'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zAgentErrorRelationTaskGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('task'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zAgentStatResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\AgentStat'), + attributes: z.object({ + agentId: z.int().optional(), + statType: z.int().optional(), + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + value: z.array(z.int()).optional() + }).optional() + })).optional(), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zJwtApiKeyCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\JwtApiKey'), + attributes: z.object({ + scopes: z.array(z.int()).optional(), + startValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + endValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + userId: z.int().optional(), + isRevoked: z.boolean().optional() + }).optional() + }).optional() +}); + +export const zJwtApiKeyPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\JwtApiKey'), + attributes: z.object({ + isRevoked: z.boolean().optional() + }).optional() + }).optional() +}); + +export const zJwtApiKeyResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\JwtApiKey'), + attributes: z.object({ + startValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + endValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + userId: z.int().optional(), + isRevoked: z.boolean().optional() + }).optional() + })).optional(), + relationships: z.object({ + user: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/apiTokens/relationships/user'), + related: z.string().optional().default('/api/v2/ui/apiTokens/user') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('user'), + attributes: z.object({ + userId: z.int().optional(), + name: z.string().optional(), + email: z.string().optional(), + passwordHash: z.string().optional(), + passwordSalt: z.string().optional(), + isValid: z.boolean().optional(), + isComputedPassword: z.boolean().optional(), + lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + sessionLifetime: z.int().optional(), + globalPermissionGroupId: z.int().optional(), + yubikey: z.string().optional(), + otp1: z.string().optional(), + otp2: z.string().optional(), + otp3: z.string().optional(), + otp4: z.string().optional() + }).optional() + })).optional() +}); + +export const zJwtApiKeyPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\JwtApiKey'), + attributes: z.object({ + startValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + endValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + userId: z.int().optional(), + isRevoked: z.boolean().optional() + }).optional() + })).optional() +}); + +export const zJwtApiKeyRelationUser = z.object({ + data: z.object({ + type: z.string().optional().default('user'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zJwtApiKeyRelationUserGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('user'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zChunkResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/chunks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Chunk'), + attributes: z.object({ + taskId: z.int().optional(), + skip: z.int().optional(), + length: z.int().optional(), + agentId: z.int().optional(), + dispatchTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + solveTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + checkpoint: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + progress: z.int().optional(), + state: z.int().optional(), + cracked: z.int().optional(), + speed: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional(), + relationships: z.object({ + agent: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/chunks/relationships/agent'), + related: z.string().optional().default('/api/v2/ui/chunks/agent') + }).optional() + }).optional(), + task: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/chunks/relationships/task'), + related: z.string().optional().default('/api/v2/ui/chunks/task') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('task'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zChunkRelationTask = z.object({ + data: z.object({ + type: z.string().optional().default('task'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zChunkRelationTaskGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('task'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zConfigPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Config'), + attributes: z.object({ + item: z.string().optional(), + value: z.string().optional() + }).optional() + }).optional() +}); + +export const zConfigResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/configs?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Config'), + attributes: z.object({ + configSectionId: z.int().optional(), + item: z.string().optional(), + value: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + configSection: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/configs/relationships/configSection'), + related: z.string().optional().default('/api/v2/ui/configs/configSection') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('configSection'), + attributes: z.object({ + configSectionId: z.int().optional(), + sectionName: z.string().optional() + }).optional() + })).optional() +}); + +export const zConfigPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Config'), + attributes: z.object({ + configSectionId: z.int().optional(), + item: z.string().optional(), + value: z.string().optional() + }).optional() + })).optional() +}); + +export const zConfigRelationConfigSection = z.object({ + data: z.object({ + type: z.string().optional().default('configSection'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zConfigRelationConfigSectionGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('configSection'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zConfigSectionResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/configsections?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\ConfigSection'), + attributes: z.object({ + sectionName: z.string().optional() + }).optional() + })).optional(), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zCrackerBinaryCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\CrackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int().optional(), + version: z.string().optional(), + downloadUrl: z.string().optional(), + binaryName: z.string().optional() + }).optional() + }).optional() +}); + +export const zCrackerBinaryPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\CrackerBinary'), + attributes: z.object({ + binaryName: z.string().optional(), + downloadUrl: z.string().optional(), + version: z.string().optional() + }).optional() + }).optional() +}); + +export const zCrackerBinaryResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/crackers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\CrackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int().optional(), + version: z.string().optional(), + downloadUrl: z.string().optional(), + binaryName: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + crackerBinaryType: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/crackers/relationships/crackerBinaryType'), + related: z.string().optional().default('/api/v2/ui/crackers/crackerBinaryType') + }).optional() + }).optional(), + tasks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/crackers/relationships/tasks'), + related: z.string().optional().default('/api/v2/ui/crackers/tasks') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('tasks'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zCrackerBinaryPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\CrackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int().optional(), + version: z.string().optional(), + downloadUrl: z.string().optional(), + binaryName: z.string().optional() + }).optional() + })).optional() +}); + +export const zCrackerBinaryRelationTasks = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('tasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zCrackerBinaryRelationTasksGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('tasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zCrackerBinaryTypeCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\CrackerBinaryType'), + attributes: z.object({ + typeName: z.string().optional() + }).optional() + }).optional() +}); + +export const zCrackerBinaryTypePatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\CrackerBinaryType'), + attributes: z.object({ + isChunkingAvailable: z.boolean().optional(), + typeName: z.string().optional() + }).optional() + }).optional() +}); + +export const zCrackerBinaryTypeResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\CrackerBinaryType'), + attributes: z.object({ + typeName: z.string().optional(), + isChunkingAvailable: z.boolean().optional() + }).optional() + })).optional(), + relationships: z.object({ + crackerVersions: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/crackertypes/relationships/crackerVersions'), + related: z.string().optional().default('/api/v2/ui/crackertypes/crackerVersions') + }).optional() + }).optional(), + tasks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/crackertypes/relationships/tasks'), + related: z.string().optional().default('/api/v2/ui/crackertypes/tasks') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('tasks'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zCrackerBinaryTypePostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\CrackerBinaryType'), + attributes: z.object({ + typeName: z.string().optional(), + isChunkingAvailable: z.boolean().optional() + }).optional() + })).optional() +}); + +export const zCrackerBinaryTypeRelationTasks = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('tasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zCrackerBinaryTypeRelationTasksGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('tasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zFileCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\File'), + attributes: z.object({ + sourceType: z.string().optional(), + sourceData: z.string().optional(), + filename: z.string().optional(), + isSecret: z.boolean().optional(), + fileType: z.int().optional(), + accessGroupId: z.int().optional() + }).optional() + }).optional() +}); + +export const zFilePatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\File'), + attributes: z.object({ + accessGroupId: z.int().optional(), + fileType: z.int().optional(), + filename: z.string().optional(), + isSecret: z.boolean().optional() + }).optional() + }).optional() +}); + +export const zFileResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/files?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\File'), + attributes: z.object({ + filename: z.string().optional(), + size: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + isSecret: z.boolean().optional(), + fileType: z.int().optional(), + accessGroupId: z.int().optional(), + lineCount: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional(), + relationships: z.object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/files/relationships/accessGroup'), + related: z.string().optional().default('/api/v2/ui/files/accessGroup') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('accessGroup'), + attributes: z.object({ + accessGroupId: z.int().optional(), + groupName: z.string().optional() + }).optional() + })).optional() +}); + +export const zFileSingleResponse = z.object({ + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\File'), + attributes: z.object({ + filename: z.string().optional(), + size: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + isSecret: z.boolean().optional(), + fileType: z.int().optional(), + accessGroupId: z.int().optional(), + lineCount: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional(), + relationships: z.object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/files/relationships/accessGroup'), + related: z.string().optional().default('/api/v2/ui/files/accessGroup') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('accessGroup'), + attributes: z.object({ + accessGroupId: z.int().optional(), + groupName: z.string().optional() + }).optional() + })).optional() +}); + +export const zFilePostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\File'), + attributes: z.object({ + filename: z.string().optional(), + size: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + isSecret: z.boolean().optional(), + fileType: z.int().optional(), + accessGroupId: z.int().optional(), + lineCount: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional() +}); + +export const zFileRelationAccessGroup = z.object({ + data: z.object({ + type: z.string().optional().default('accessGroup'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zFileRelationAccessGroupGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('accessGroup'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zRightGroupCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\RightGroup'), + attributes: z.object({ + name: z.string().optional(), + permissions: z.record(z.string(), z.unknown()).optional() + }).optional() + }).optional() +}); + +export const zRightGroupPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\RightGroup'), + attributes: z.object({ + name: z.string().optional(), + permissions: z.record(z.string(), z.unknown()).optional() + }).optional() + }).optional() +}); + +export const zRightGroupResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\RightGroup'), + attributes: z.object({ + name: z.string().optional(), + permissions: z.record(z.string(), z.unknown()).optional() + }).optional() + })).optional(), + relationships: z.object({ + userMembers: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/globalpermissiongroups/relationships/userMembers'), + related: z.string().optional().default('/api/v2/ui/globalpermissiongroups/userMembers') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('userMembers'), + attributes: z.object({ + userId: z.int().optional(), + name: z.string().optional(), + email: z.string().optional(), + passwordHash: z.string().optional(), + passwordSalt: z.string().optional(), + isValid: z.boolean().optional(), + isComputedPassword: z.boolean().optional(), + lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + sessionLifetime: z.int().optional(), + globalPermissionGroupId: z.int().optional(), + yubikey: z.string().optional(), + otp1: z.string().optional(), + otp2: z.string().optional(), + otp3: z.string().optional(), + otp4: z.string().optional() + }).optional() + })).optional() +}); + +export const zRightGroupPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\RightGroup'), + attributes: z.object({ + name: z.string().optional(), + permissions: z.record(z.string(), z.unknown()).optional() + }).optional() + })).optional() +}); + +export const zRightGroupRelationUserMembers = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('userMembers'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zRightGroupRelationUserMembersGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('userMembers'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zHashResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Hash'), + attributes: z.object({ + hashlistId: z.int().optional(), + hash: z.string().optional(), + salt: z.string().optional(), + plaintext: z.string().optional(), + timeCracked: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkId: z.int().optional(), + isCracked: z.boolean().optional(), + crackPos: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional(), + relationships: z.object({ + chunk: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashes/relationships/chunk'), + related: z.string().optional().default('/api/v2/ui/hashes/chunk') + }).optional() + }).optional(), + hashlist: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashes/relationships/hashlist'), + related: z.string().optional().default('/api/v2/ui/hashes/hashlist') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('hashlist'), + attributes: z.object({ + hashlistSeperator: z.string().optional(), + sourceType: z.string().optional(), + sourceData: z.string().optional(), + hashlistId: z.int().optional(), + name: z.string().optional(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]).optional(), + hashTypeId: z.int().optional(), + hashCount: z.int().optional(), + separator: z.string().optional(), + cracked: z.int().optional(), + isSecret: z.boolean().optional(), + isHexSalt: z.boolean().optional(), + isSalted: z.boolean().optional(), + accessGroupId: z.int().optional(), + notes: z.string().optional(), + useBrain: z.boolean().optional(), + brainFeatures: z.int().optional(), + isArchived: z.boolean().optional() + }).optional() + })).optional() +}); + +export const zHashRelationHashlist = z.object({ + data: z.object({ + type: z.string().optional().default('hashlist'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zHashRelationHashlistGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('hashlist'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zHashlistCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + attributes: z.object({ + hashlistSeperator: z.string().optional(), + sourceType: z.string().optional(), + sourceData: z.string().optional(), + name: z.string().optional(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]).optional(), + hashTypeId: z.int().optional(), + hashCount: z.int().optional(), + separator: z.string().optional(), + isSecret: z.boolean().optional(), + isHexSalt: z.boolean().optional(), + isSalted: z.boolean().optional(), + accessGroupId: z.int().optional(), + notes: z.string().optional(), + useBrain: z.boolean().optional(), + brainFeatures: z.int().optional(), + isArchived: z.boolean().optional() + }).optional() + }).optional() +}); + +export const zHashlistPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + attributes: z.object({ + accessGroupId: z.int().optional(), + isArchived: z.boolean().optional(), + isSecret: z.boolean().optional(), + name: z.string().optional(), + notes: z.string().optional() + }).optional() + }).optional() +}); + +export const zHashlistResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + attributes: z.object({ + name: z.string().optional(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]).optional(), + hashTypeId: z.int().optional(), + hashCount: z.int().optional(), + separator: z.string().optional(), + cracked: z.int().optional(), + isSecret: z.boolean().optional(), + isHexSalt: z.boolean().optional(), + isSalted: z.boolean().optional(), + accessGroupId: z.int().optional(), + notes: z.string().optional(), + useBrain: z.boolean().optional(), + brainFeatures: z.int().optional(), + isArchived: z.boolean().optional() + }).optional() + })).optional(), + relationships: z.object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/accessGroup'), + related: z.string().optional().default('/api/v2/ui/hashlists/accessGroup') + }).optional() + }).optional(), + hashType: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashType'), + related: z.string().optional().default('/api/v2/ui/hashlists/hashType') + }).optional() + }).optional(), + hashes: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashes'), + related: z.string().optional().default('/api/v2/ui/hashlists/hashes') + }).optional() + }).optional(), + hashlists: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashlists'), + related: z.string().optional().default('/api/v2/ui/hashlists/hashlists') + }).optional() + }).optional(), + tasks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/tasks'), + related: z.string().optional().default('/api/v2/ui/hashlists/tasks') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('tasks'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zHashlistSingleResponse = z.object({ + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + attributes: z.object({ + name: z.string().optional(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]).optional(), + hashTypeId: z.int().optional(), + hashCount: z.int().optional(), + separator: z.string().optional(), + cracked: z.int().optional(), + isSecret: z.boolean().optional(), + isHexSalt: z.boolean().optional(), + isSalted: z.boolean().optional(), + accessGroupId: z.int().optional(), + notes: z.string().optional(), + useBrain: z.boolean().optional(), + brainFeatures: z.int().optional(), + isArchived: z.boolean().optional() + }).optional() + })).optional(), + relationships: z.object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/accessGroup'), + related: z.string().optional().default('/api/v2/ui/hashlists/accessGroup') + }).optional() + }).optional(), + hashType: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashType'), + related: z.string().optional().default('/api/v2/ui/hashlists/hashType') + }).optional() + }).optional(), + hashes: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashes'), + related: z.string().optional().default('/api/v2/ui/hashlists/hashes') + }).optional() + }).optional(), + hashlists: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashlists'), + related: z.string().optional().default('/api/v2/ui/hashlists/hashlists') + }).optional() + }).optional(), + tasks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashlists/relationships/tasks'), + related: z.string().optional().default('/api/v2/ui/hashlists/tasks') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('tasks'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zHashlistPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + attributes: z.object({ + name: z.string().optional(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]).optional(), + hashTypeId: z.int().optional(), + hashCount: z.int().optional(), + separator: z.string().optional(), + cracked: z.int().optional(), + isSecret: z.boolean().optional(), + isHexSalt: z.boolean().optional(), + isSalted: z.boolean().optional(), + accessGroupId: z.int().optional(), + notes: z.string().optional(), + useBrain: z.boolean().optional(), + brainFeatures: z.int().optional(), + isArchived: z.boolean().optional() + }).optional() + })).optional() +}); + +export const zHashlistRelationTasks = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('tasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zHashlistRelationTasksGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('tasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zHashTypeCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\HashType'), + attributes: z.object({ + hashTypeId: z.int().optional(), + description: z.string().optional(), + isSalted: z.boolean().optional(), + isSlowHash: z.boolean().optional() + }).optional() + }).optional() +}); + +export const zHashTypePatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\HashType'), + attributes: z.object({ + description: z.string().optional(), + isSalted: z.boolean().optional(), + isSlowHash: z.boolean().optional() + }).optional() + }).optional() +}); + +export const zHashTypeResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\HashType'), + attributes: z.object({ + description: z.string().optional(), + isSalted: z.boolean().optional(), + isSlowHash: z.boolean().optional() + }).optional() + })).optional(), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zHashTypePostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\HashType'), + attributes: z.object({ + description: z.string().optional(), + isSalted: z.boolean().optional(), + isSlowHash: z.boolean().optional() + }).optional() + })).optional() +}); + +export const zHealthCheckAgentResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\HealthCheckAgent'), + attributes: z.object({ + healthCheckId: z.int().optional(), + agentId: z.int().optional(), + status: z.int().optional(), + cracked: z.int().optional(), + numGpus: z.int().optional(), + start: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + end: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + errors: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + agent: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/healthcheckagents/relationships/agent'), + related: z.string().optional().default('/api/v2/ui/healthcheckagents/agent') + }).optional() + }).optional(), + healthCheck: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/healthcheckagents/relationships/healthCheck'), + related: z.string().optional().default('/api/v2/ui/healthcheckagents/healthCheck') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('healthCheck'), + attributes: z.object({ + healthCheckId: z.int().optional(), + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + status: z.int().optional(), + checkType: z.int().optional(), + hashtypeId: z.int().optional(), + crackerBinaryId: z.int().optional(), + expectedCracks: z.int().optional(), + attackCmd: z.string().optional() + }).optional() + })).optional() +}); + +export const zHealthCheckAgentRelationHealthCheck = z.object({ + data: z.object({ + type: z.string().optional().default('healthCheck'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zHealthCheckAgentRelationHealthCheckGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('healthCheck'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zHealthCheckCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\HealthCheck'), + attributes: z.object({ + checkType: z.int().optional(), + hashtypeId: z.int().optional(), + crackerBinaryId: z.int().optional() + }).optional() + }).optional() +}); + +export const zHealthCheckPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\HealthCheck'), + attributes: z.object({ + checkType: z.int().optional() + }).optional() + }).optional() +}); + +export const zHealthCheckResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\HealthCheck'), + attributes: z.object({ + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + status: z.int().optional(), + checkType: z.int().optional(), + hashtypeId: z.int().optional(), + crackerBinaryId: z.int().optional(), + expectedCracks: z.int().optional(), + attackCmd: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + crackerBinary: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/healthchecks/relationships/crackerBinary'), + related: z.string().optional().default('/api/v2/ui/healthchecks/crackerBinary') + }).optional() + }).optional(), + hashType: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/healthchecks/relationships/hashType'), + related: z.string().optional().default('/api/v2/ui/healthchecks/hashType') + }).optional() + }).optional(), + healthCheckAgents: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/healthchecks/relationships/healthCheckAgents'), + related: z.string().optional().default('/api/v2/ui/healthchecks/healthCheckAgents') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('healthCheckAgents'), + attributes: z.object({ + healthCheckAgentId: z.int().optional(), + healthCheckId: z.int().optional(), + agentId: z.int().optional(), + status: z.int().optional(), + cracked: z.int().optional(), + numGpus: z.int().optional(), + start: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + end: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + errors: z.string().optional() + }).optional() + })).optional() +}); + +export const zHealthCheckPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\HealthCheck'), + attributes: z.object({ + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + status: z.int().optional(), + checkType: z.int().optional(), + hashtypeId: z.int().optional(), + crackerBinaryId: z.int().optional(), + expectedCracks: z.int().optional(), + attackCmd: z.string().optional() + }).optional() + })).optional() +}); + +export const zHealthCheckRelationHealthCheckAgents = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('healthCheckAgents'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zHealthCheckRelationHealthCheckAgentsGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('healthCheckAgents'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zLogEntryCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\LogEntry'), + attributes: z.record(z.string(), z.unknown()).optional() + }).optional() +}); + +export const zLogEntryPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\LogEntry'), + attributes: z.record(z.string(), z.unknown()).optional() + }).optional() +}); + +export const zLogEntryResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/logentries?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\LogEntry'), + attributes: z.object({ + issuer: z.string().optional(), + issuerId: z.string().optional(), + level: z.string().optional(), + message: z.string().optional(), + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional(), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zLogEntryPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\LogEntry'), + attributes: z.object({ + issuer: z.string().optional(), + issuerId: z.string().optional(), + level: z.string().optional(), + message: z.string().optional(), + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional() +}); + +export const zNotificationSettingCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\NotificationSetting'), + attributes: z.object({ + actionFilter: z.string().optional(), + action: z.string().optional(), + notification: z.string().optional(), + receiver: z.string().optional() + }).optional() + }).optional() +}); + +export const zNotificationSettingPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\NotificationSetting'), + attributes: z.object({ + action: z.string().optional(), + isActive: z.boolean().optional(), + notification: z.string().optional(), + receiver: z.string().optional() + }).optional() + }).optional() +}); + +export const zNotificationSettingResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/notifications?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\NotificationSetting'), + attributes: z.object({ + action: z.string().optional(), + objectId: z.int().optional(), + notification: z.string().optional(), + userId: z.int().optional(), + receiver: z.string().optional(), + isActive: z.boolean().optional() + }).optional() + })).optional(), + relationships: z.object({ + user: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/notifications/relationships/user'), + related: z.string().optional().default('/api/v2/ui/notifications/user') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('user'), + attributes: z.object({ + userId: z.int().optional(), + name: z.string().optional(), + email: z.string().optional(), + passwordHash: z.string().optional(), + passwordSalt: z.string().optional(), + isValid: z.boolean().optional(), + isComputedPassword: z.boolean().optional(), + lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + sessionLifetime: z.int().optional(), + globalPermissionGroupId: z.int().optional(), + yubikey: z.string().optional(), + otp1: z.string().optional(), + otp2: z.string().optional(), + otp3: z.string().optional(), + otp4: z.string().optional() + }).optional() + })).optional() +}); + +export const zNotificationSettingPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\NotificationSetting'), + attributes: z.object({ + action: z.string().optional(), + objectId: z.int().optional(), + notification: z.string().optional(), + userId: z.int().optional(), + receiver: z.string().optional(), + isActive: z.boolean().optional() + }).optional() + })).optional() +}); + +export const zNotificationSettingRelationUser = z.object({ + data: z.object({ + type: z.string().optional().default('user'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zNotificationSettingRelationUserGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('user'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zPreprocessorCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Preprocessor'), + attributes: z.object({ + name: z.string().optional(), + url: z.string().optional(), + binaryName: z.string().optional(), + keyspaceCommand: z.string().optional(), + skipCommand: z.string().optional(), + limitCommand: z.string().optional() + }).optional() + }).optional() +}); + +export const zPreprocessorPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Preprocessor'), + attributes: z.object({ + binaryName: z.string().optional(), + keyspaceCommand: z.string().optional(), + limitCommand: z.string().optional(), + name: z.string().optional(), + skipCommand: z.string().optional(), + url: z.string().optional() + }).optional() + }).optional() +}); + +export const zPreprocessorResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Preprocessor'), + attributes: z.object({ + name: z.string().optional(), + url: z.string().optional(), + binaryName: z.string().optional(), + keyspaceCommand: z.string().optional(), + skipCommand: z.string().optional(), + limitCommand: z.string().optional() + }).optional() + })).optional(), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zPreprocessorPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Preprocessor'), + attributes: z.object({ + name: z.string().optional(), + url: z.string().optional(), + binaryName: z.string().optional(), + keyspaceCommand: z.string().optional(), + skipCommand: z.string().optional(), + limitCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zPretaskCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Pretask'), + attributes: z.object({ + files: z.array(z.int()).optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + isMaskImport: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional() + }).optional() + }).optional() +}); + +export const zPretaskPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Pretask'), + attributes: z.object({ + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + color: z.string().optional(), + crackerBinaryTypeId: z.int().optional(), + isCpuTask: z.boolean().optional(), + isMaskImport: z.boolean().optional(), + isSmall: z.boolean().optional(), + maxAgents: z.int().optional(), + priority: z.int().optional(), + statusTimer: z.int().optional(), + taskName: z.string().optional() + }).optional() + }).optional() +}); + +export const zPretaskResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Pretask'), + attributes: z.object({ + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + isMaskImport: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional() + }).optional() + })).optional(), + relationships: z.object({ + pretaskFiles: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/pretasks/relationships/pretaskFiles'), + related: z.string().optional().default('/api/v2/ui/pretasks/pretaskFiles') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('pretaskFiles'), + attributes: z.object({ + sourceType: z.string().optional(), + sourceData: z.string().optional(), + fileId: z.int().optional(), + filename: z.string().optional(), + size: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + isSecret: z.boolean().optional(), + fileType: z.int().optional(), + accessGroupId: z.int().optional(), + lineCount: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional() +}); + +export const zPretaskPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Pretask'), + attributes: z.object({ + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + isMaskImport: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional() + }).optional() + })).optional() +}); + +export const zPretaskRelationPretaskFiles = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('pretaskFiles'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zPretaskRelationPretaskFilesGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('pretaskFiles'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zSpeedResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/speeds?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Speed'), + attributes: z.object({ + agentId: z.int().optional(), + taskId: z.int().optional(), + speed: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional(), + relationships: z.object({ + agent: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/speeds/relationships/agent'), + related: z.string().optional().default('/api/v2/ui/speeds/agent') + }).optional() + }).optional(), + task: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/speeds/relationships/task'), + related: z.string().optional().default('/api/v2/ui/speeds/task') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('task'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zSpeedRelationTask = z.object({ + data: z.object({ + type: z.string().optional().default('task'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zSpeedRelationTaskGetResponse = z.object({ + data: z.object({ + type: z.string().optional().default('task'), + id: z.int().optional().default(1) + }).optional() +}); + +export const zSupertaskCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + attributes: z.object({ + pretasks: z.array(z.int()).optional(), + supertaskName: z.string().optional() + }).optional() + }).optional() +}); + +export const zSupertaskPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + attributes: z.object({ + supertaskName: z.string().optional() + }).optional() + }).optional() +}); + +export const zSupertaskResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + attributes: z.object({ + supertaskName: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + pretasks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/supertasks/relationships/pretasks'), + related: z.string().optional().default('/api/v2/ui/supertasks/pretasks') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('pretasks'), + attributes: z.object({ + files: z.array(z.int()).optional(), + pretaskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + isMaskImport: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional() + }).optional() + })).optional() +}); + +export const zSupertaskSingleResponse = z.object({ + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + attributes: z.object({ + supertaskName: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + pretasks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/supertasks/relationships/pretasks'), + related: z.string().optional().default('/api/v2/ui/supertasks/pretasks') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('pretasks'), + attributes: z.object({ + files: z.array(z.int()).optional(), + pretaskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + isMaskImport: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional() + }).optional() + })).optional() +}); + +export const zSupertaskPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + attributes: z.object({ + supertaskName: z.string().optional() + }).optional() + })).optional() +}); + +export const zSupertaskRelationPretasks = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('pretasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zSupertaskRelationPretasksGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('pretasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zTaskCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Task'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + }).optional() +}); + +export const zTaskPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\Task'), + attributes: z.object({ + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + color: z.string().optional(), + isArchived: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + isSmall: z.boolean().optional(), + maxAgents: z.int().optional(), + notes: z.string().optional(), + priority: z.int().optional(), + statusTimer: z.int().optional(), + taskName: z.string().optional() + }).optional() + }).optional() +}); + +export const zTaskResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/tasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Task'), + attributes: z.object({ + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + assignedAgents: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/tasks/relationships/assignedAgents'), + related: z.string().optional().default('/api/v2/ui/tasks/assignedAgents') + }).optional() + }).optional(), + crackerBinary: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/tasks/relationships/crackerBinary'), + related: z.string().optional().default('/api/v2/ui/tasks/crackerBinary') + }).optional() + }).optional(), + crackerBinaryType: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/tasks/relationships/crackerBinaryType'), + related: z.string().optional().default('/api/v2/ui/tasks/crackerBinaryType') + }).optional() + }).optional(), + files: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/tasks/relationships/files'), + related: z.string().optional().default('/api/v2/ui/tasks/files') + }).optional() + }).optional(), + hashlist: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/tasks/relationships/hashlist'), + related: z.string().optional().default('/api/v2/ui/tasks/hashlist') + }).optional() + }).optional(), + speeds: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/tasks/relationships/speeds'), + related: z.string().optional().default('/api/v2/ui/tasks/speeds') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('speeds'), + attributes: z.object({ + speedId: z.int().optional(), + agentId: z.int().optional(), + taskId: z.int().optional(), + speed: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional() +}); + +export const zTaskPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\Task'), + attributes: z.object({ + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zTaskRelationSpeeds = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('speeds'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zTaskRelationSpeedsGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('speeds'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zTaskWrapperPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\TaskWrapper'), + attributes: z.object({ + accessGroupId: z.int().optional(), + isArchived: z.boolean().optional(), + maxAgents: z.int().optional(), + priority: z.int().optional(), + taskWrapperName: z.string().optional() + }).optional() + }).optional() +}); + +export const zTaskWrapperResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\TaskWrapper'), + attributes: z.object({ + priority: z.int().optional(), + maxAgents: z.int().optional(), + taskType: z.union([z.literal(0), z.literal(1)]).optional(), + hashlistId: z.int().optional(), + accessGroupId: z.int().optional(), + taskWrapperName: z.string().optional(), + isArchived: z.boolean().optional(), + cracked: z.int().optional() + }).optional() + })).optional(), + relationships: z.object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/accessGroup') + }).optional() + }).optional(), + hashType: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/hashType'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/hashType') + }).optional() + }).optional(), + hashlist: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/hashlist'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/hashlist') + }).optional() + }).optional(), + task: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/task'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/task') + }).optional() + }).optional(), + tasks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/tasks'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/tasks') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('tasks'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zTaskWrapperSingleResponse = z.object({ + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\TaskWrapper'), + attributes: z.object({ + priority: z.int().optional(), + maxAgents: z.int().optional(), + taskType: z.union([z.literal(0), z.literal(1)]).optional(), + hashlistId: z.int().optional(), + accessGroupId: z.int().optional(), + taskWrapperName: z.string().optional(), + isArchived: z.boolean().optional(), + cracked: z.int().optional() + }).optional() + })).optional(), + relationships: z.object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/accessGroup') + }).optional() + }).optional(), + hashType: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/hashType'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/hashType') + }).optional() + }).optional(), + hashlist: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/hashlist'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/hashlist') + }).optional() + }).optional(), + task: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/task'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/task') + }).optional() + }).optional(), + tasks: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/tasks'), + related: z.string().optional().default('/api/v2/ui/taskwrappers/tasks') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('tasks'), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() + }).optional() + })).optional() +}); + +export const zTaskWrapperPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\TaskWrapper'), + attributes: z.object({ + priority: z.int().optional(), + maxAgents: z.int().optional(), + taskType: z.union([z.literal(0), z.literal(1)]).optional(), + hashlistId: z.int().optional(), + accessGroupId: z.int().optional(), + taskWrapperName: z.string().optional(), + isArchived: z.boolean().optional(), + cracked: z.int().optional() + }).optional() + })).optional() +}); + +export const zTaskWrapperRelationTasks = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('tasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zTaskWrapperRelationTasksGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('tasks'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zUserCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\User'), + attributes: z.object({ + name: z.string().optional(), + email: z.string().optional(), + globalPermissionGroupId: z.int().optional() + }).optional() + }).optional() +}); + +export const zUserPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\User'), + attributes: z.object({ + email: z.string().optional(), + globalPermissionGroupId: z.int().optional(), + isValid: z.boolean().optional(), + sessionLifetime: z.int().optional() + }).optional() + }).optional() +}); + +export const zUserResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/users?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\User'), + attributes: z.object({ + name: z.string().optional(), + email: z.string().optional(), + passwordHash: z.string().optional(), + passwordSalt: z.string().optional(), + isValid: z.boolean().optional(), + isComputedPassword: z.boolean().optional(), + lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + sessionLifetime: z.int().optional(), + globalPermissionGroupId: z.int().optional(), + yubikey: z.string().optional(), + otp1: z.string().optional(), + otp2: z.string().optional(), + otp3: z.string().optional(), + otp4: z.string().optional() + }).optional() + })).optional(), + relationships: z.object({ + accessGroups: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/users/relationships/accessGroups'), + related: z.string().optional().default('/api/v2/ui/users/accessGroups') + }).optional() + }).optional(), + globalPermissionGroup: z.object({ + links: z.object({ + self: z.string().optional().default('/api/v2/ui/users/relationships/globalPermissionGroup'), + related: z.string().optional().default('/api/v2/ui/users/globalPermissionGroup') + }).optional() + }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('accessGroups'), + attributes: z.object({ + accessGroupId: z.int().optional(), + groupName: z.string().optional() + }).optional() + })).optional() +}); + +export const zUserPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\User'), + attributes: z.object({ + name: z.string().optional(), + email: z.string().optional(), + passwordHash: z.string().optional(), + passwordSalt: z.string().optional(), + isValid: z.boolean().optional(), + isComputedPassword: z.boolean().optional(), + lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + sessionLifetime: z.int().optional(), + globalPermissionGroupId: z.int().optional(), + yubikey: z.string().optional(), + otp1: z.string().optional(), + otp2: z.string().optional(), + otp3: z.string().optional(), + otp4: z.string().optional() + }).optional() + })).optional() +}); + +export const zUserRelationAccessGroups = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('accessGroups'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zUserRelationAccessGroupsGetResponse = z.object({ + data: z.array(z.object({ + type: z.string().optional().default('accessGroups'), + id: z.int().optional().default(1) + })).optional() +}); + +export const zRegVoucherCreate = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\RegVoucher'), + attributes: z.object({ + voucher: z.string().optional() + }).optional() + }).optional() +}); + +export const zRegVoucherPatch = z.object({ + data: z.object({ + type: z.string().optional().default('topolis\\dba\\models\\RegVoucher'), + attributes: z.object({ + voucher: z.string().optional() + }).optional() + }).optional() +}); + +export const zRegVoucherResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + links: z.object({ + self: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\RegVoucher'), + attributes: z.object({ + voucher: z.string().optional(), + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional(), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zRegVoucherPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().optional().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }).optional(), + data: z.array(z.object({ + id: z.int().optional(), + type: z.string().optional().default('topolis\\dba\\models\\RegVoucher'), + attributes: z.object({ + voucher: z.string().optional(), + time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + }).optional() + })).optional() +}); + +export const zAbortChunkHelperApi = z.object({ + chunkId: z.int().optional() +}); + +export const zAbortChunkHelperApiResponse = z.array(z.object({ + Abort: z.string().optional().default('Success') +})); + +export const zAssignAgentHelperApi = z.object({ + agentId: z.int().optional(), + taskId: z.int().optional() +}); + +export const zAssignAgentHelperApiResponse = z.array(z.object({ + Assign: z.string().optional().default('Success') +})); + +export const zBulkSupertaskBuilderHelperApi = z.object({ + name: z.string().optional(), + isCpu: z.boolean().optional(), + isSmall: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional(), + benchtype: z.string().optional(), + command: z.string().optional(), + maxAgents: z.int().optional(), + basefiles: z.array(z.int()).optional(), + iterfiles: z.array(z.int()).optional() +}); + +export const zChangeOwnPasswordHelperApi = z.object({ + oldPassword: z.string().optional(), + newPassword: z.string().optional(), + confirmPassword: z.string().optional() +}); + +export const zChangeOwnPasswordHelperApiResponse = z.array(z.object({ + 'Change password': z.string().optional().default('Password succesfully updated!') +})); + +export const zCreateSuperHashlistHelperApi = z.object({ + hashlistIds: z.array(z.int()).optional(), + name: z.string().optional() +}); + +export const zCreateSupertaskHelperApi = z.object({ + supertaskTemplateId: z.int().optional(), + hashlistId: z.int().optional(), + crackerVersionId: z.int().optional() +}); + +export const zExportCrackedHashesHelperApi = z.object({ + hashlistId: z.int().optional() +}); + +export const zExportLeftHashesHelperApi = z.object({ + hashlistId: z.int().optional() +}); + +export const zExportWordlistHelperApi = z.object({ + hashlistId: z.int().optional() +}); + +export const zImportCrackedHashesHelperApi = z.object({ + hashlistId: z.int().optional(), + sourceType: z.string().optional(), + sourceData: z.string().optional(), + separator: z.string().optional(), + overwrite: z.int().optional() +}); + +export const zImportCrackedHashesHelperApiResponse = z.array(z.object({ + totalLines: z.int().optional().default(100), + newCracked: z.int().optional().default(5), + alreadyCracked: z.int().optional().default(2), + invalid: z.int().optional().default(1), + notFound: z.int().optional().default(1), + processTime: z.int().optional().default(60), + tooLongPlaintexts: z.int().optional().default(4) +})); + +export const zImportFileHelperApi = z.record(z.string(), z.unknown()); + +export const zMaskSupertaskBuilderHelperApi = z.object({ + name: z.string().optional(), + isCpu: z.boolean().optional(), + isSmall: z.boolean().optional(), + optimized: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional(), + benchtype: z.string().optional(), + masks: z.string().optional(), + maxAgents: z.int().optional() +}); + +export const zPurgeTaskHelperApi = z.object({ + taskId: z.int().optional() +}); + +export const zPurgeTaskHelperApiResponse = z.array(z.object({ + Purge: z.string().optional().default('Success') +})); + +export const zRebuildChunkCacheHelperApi = z.record(z.string(), z.unknown()); + +export const zRebuildChunkCacheHelperApiResponse = z.array(z.object({ + Rebuild: z.string().optional().default('Success') +})); + +export const zRecountFileLinesHelperApi = z.object({ + fileId: z.int().optional() +}); + +export const zRescanGlobalFilesHelperApi = z.record(z.string(), z.unknown()); + +export const zRescanGlobalFilesHelperApiResponse = z.array(z.object({ + Rescan: z.string().optional().default('Success') +})); + +export const zResetChunkHelperApi = z.object({ + chunkId: z.int().optional() +}); + +export const zResetChunkHelperApiResponse = z.array(z.object({ + Reset: z.string().optional().default('Success') +})); + +export const zResetUserPasswordHelperApi = z.object({ + email: z.string().optional(), + username: z.string().optional() +}); + +export const zResetUserPasswordHelperApiResponse = z.array(z.object({ + Reset: z.string().optional().default('Success') +})); + +export const zSearchHashesHelperApi = z.object({ + searchData: z.string().optional(), + separator: z.string().optional(), + isSalted: z.boolean().optional() +}); + +export const zSearchHashesHelperApiResponse = z.array(z.object({ + 0: z.record(z.string(), z.unknown()).optional().default({ found: false, query: '12345678' }), + 1: z.record(z.string(), z.unknown()).optional().default({ + found: true, + query: '54321', + matches: [{ + type: 'hash', + id: 552, + attributes: { + hashlistId: 5, + hash: '7682543218768', + salt: '', + plaintext: '', + timeCracked: 0, + chunkId: null, + isCracked: false, + crackPos: 0 + }, + links: { self: '/api/v2/ui/hashes/552' }, + relationships: { chunk: { links: { self: '/api/v2/ui/hashes/552/relationships/chunk', related: '/api/v2/ui/hashes/552/chunk' } }, hashlist: { links: { self: '/api/v2/ui/hashes/552/relationships/hashlist', related: '/api/v2/ui/hashes/552/hashlist' } } } + }, { + type: 'hash', + id: 1, + attributes: { + hashlistId: 5, + hash: '54321768671', + salt: '', + plaintext: '', + timeCracked: 0, + chunkId: null, + isCracked: false, + crackPos: 0 + }, + links: { self: '/api/v2/ui/hashes/1' }, + relationships: { chunk: { links: { self: '/api/v2/ui/hashes/1/relationships/chunk', related: '/api/v2/ui/hashes/1/chunk' } }, hashlist: { links: { self: '/api/v2/ui/hashes/1/relationships/hashlist', related: '/api/v2/ui/hashes/1/hashlist' } } } + }] + }) +})); + +export const zSetUserPasswordHelperApi = z.object({ + userId: z.int().optional(), + password: z.string().optional() +}); + +export const zSetUserPasswordHelperApiResponse = z.array(z.object({ + 'Set password': z.string().optional().default('Success') +})); + +export const zUnassignAgentHelperApi = z.object({ + agentId: z.int().optional() +}); + +export const zUnassignAgentHelperApiResponse = z.array(z.object({ + Unassign: z.string().optional().default('Success') +})); + +export const zToken = z.object({ + token: z.string().optional(), + expires: z.int().optional() +}); + +export const zTokenRequest = z.array(z.string()); + +export const zDeleteAccessgroupsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetAccessgroupsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAccessgroupsResponse = z.array(zAccessGroupResponse); + +export const zPatchAccessgroupsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostAccessgroupsData = z.object({ + body: zAccessGroupCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostAccessgroupsResponse = zAccessGroupPostPatchResponse; + +export const zGetAccessgroupsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAccessgroupsCountResponse = z.array(zAccessGroupResponse); + +export const zGetAccessgroupsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetAccessgroupsByIdByRelationResponse = zAccessGroupRelationAgentMembersGetResponse; + +export const zDeleteAccessgroupsByIdRelationshipsByRelationData = z.object({ + body: zAccessGroupRelationAgentMembers, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteAccessgroupsByIdRelationshipsByRelationResponse = z.void(); + +export const zGetAccessgroupsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetAccessgroupsByIdRelationshipsByRelationResponse = zAccessGroupResponse; + +export const zPatchAccessgroupsByIdRelationshipsByRelationData = z.object({ + body: zAccessGroupRelationAgentMembers, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchAccessgroupsByIdRelationshipsByRelationResponse = z.void(); + +export const zPostAccessgroupsByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostAccessgroupsByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteAccessgroupsByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteAccessgroupsByIdResponse = z.void(); + +export const zGetAccessgroupsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAccessgroupsByIdResponse = zAccessGroupResponse; + +export const zPatchAccessgroupsByIdData = z.object({ + body: zAccessGroupPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchAccessgroupsByIdResponse = zAccessGroupPostPatchResponse; + +export const zDeleteAgentsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetAgentsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentsResponse = z.array(zAgentResponse); + +export const zPatchAgentsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetAgentsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentsCountResponse = z.array(zAgentResponse); + +export const zGetAgentsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetAgentsByIdByRelationResponse = zAgentRelationAssignmentsGetResponse; + +export const zDeleteAgentsByIdRelationshipsByRelationData = z.object({ + body: zAgentRelationAssignments, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteAgentsByIdRelationshipsByRelationResponse = z.void(); + +export const zGetAgentsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetAgentsByIdRelationshipsByRelationResponse = zAgentResponse; + +export const zPatchAgentsByIdRelationshipsByRelationData = z.object({ + body: zAgentRelationAssignments, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchAgentsByIdRelationshipsByRelationResponse = z.void(); + +export const zPostAgentsByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostAgentsByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteAgentsByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteAgentsByIdResponse = z.void(); + +export const zGetAgentsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentsByIdResponse = zAgentResponse; + +export const zPatchAgentsByIdData = z.object({ + body: zAgentPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchAgentsByIdResponse = zAgentPostPatchResponse; + +export const zDeleteAgentassignmentsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetAgentassignmentsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentassignmentsResponse = z.array(zAssignmentResponse); + +export const zPatchAgentassignmentsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostAgentassignmentsData = z.object({ + body: zAssignmentCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostAgentassignmentsResponse = zAssignmentPostPatchResponse; + +export const zGetAgentassignmentsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentassignmentsCountResponse = z.array(zAssignmentResponse); + +export const zGetAgentassignmentsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetAgentassignmentsByIdByRelationResponse = zAssignmentRelationTaskGetResponse; + +export const zGetAgentassignmentsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetAgentassignmentsByIdRelationshipsByRelationResponse = zAssignmentResponse; + +export const zPatchAgentassignmentsByIdRelationshipsByRelationData = z.object({ + body: zAssignmentRelationTask, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchAgentassignmentsByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteAgentassignmentsByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteAgentassignmentsByIdResponse = z.void(); + +export const zGetAgentassignmentsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentassignmentsByIdResponse = zAssignmentResponse; + +export const zPatchAgentassignmentsByIdData = z.object({ + body: zAssignmentPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchAgentassignmentsByIdResponse = zAssignmentPostPatchResponse; + +export const zDeleteAgentbinariesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetAgentbinariesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentbinariesResponse = z.array(zAgentBinaryResponse); + +export const zPatchAgentbinariesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostAgentbinariesData = z.object({ + body: zAgentBinaryCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostAgentbinariesResponse = zAgentBinaryPostPatchResponse; + +export const zGetAgentbinariesCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentbinariesCountResponse = z.array(zAgentBinaryResponse); + +export const zDeleteAgentbinariesByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteAgentbinariesByIdResponse = z.void(); + +export const zGetAgentbinariesByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentbinariesByIdResponse = zAgentBinaryResponse; + +export const zPatchAgentbinariesByIdData = z.object({ + body: zAgentBinaryPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchAgentbinariesByIdResponse = zAgentBinaryPostPatchResponse; + +export const zDeleteAgenterrorsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetAgenterrorsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgenterrorsResponse = z.array(zAgentErrorResponse); + +export const zGetAgenterrorsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgenterrorsCountResponse = z.array(zAgentErrorResponse); + +export const zGetAgenterrorsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetAgenterrorsByIdByRelationResponse = zAgentErrorRelationTaskGetResponse; + +export const zGetAgenterrorsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetAgenterrorsByIdRelationshipsByRelationResponse = zAgentErrorResponse; + +export const zPatchAgenterrorsByIdRelationshipsByRelationData = z.object({ + body: zAgentErrorRelationTask, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchAgenterrorsByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteAgenterrorsByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteAgenterrorsByIdResponse = z.void(); + +export const zGetAgenterrorsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgenterrorsByIdResponse = zAgentErrorResponse; + +export const zDeleteAgentstatsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetAgentstatsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentstatsResponse = z.array(zAgentStatResponse); + +export const zGetAgentstatsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentstatsCountResponse = z.array(zAgentStatResponse); + +export const zDeleteAgentstatsByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteAgentstatsByIdResponse = z.void(); + +export const zGetAgentstatsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetAgentstatsByIdResponse = zAgentStatResponse; + +export const zDeleteApiTokensData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetApiTokensData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetApiTokensResponse = z.array(zJwtApiKeyResponse); + +export const zPatchApiTokensData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostApiTokensData = z.object({ + body: zJwtApiKeyCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostApiTokensResponse = zJwtApiKeyPostPatchResponse; + +export const zGetApiTokensCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetApiTokensCountResponse = z.array(zJwtApiKeyResponse); + +export const zGetApiTokensByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetApiTokensByIdByRelationResponse = zJwtApiKeyRelationUserGetResponse; + +export const zGetApiTokensByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetApiTokensByIdRelationshipsByRelationResponse = zJwtApiKeyResponse; + +export const zPatchApiTokensByIdRelationshipsByRelationData = z.object({ + body: zJwtApiKeyRelationUser, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchApiTokensByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteApiTokensByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteApiTokensByIdResponse = z.void(); + +export const zGetApiTokensByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetApiTokensByIdResponse = zJwtApiKeyResponse; + +export const zPatchApiTokensByIdData = z.object({ + body: zJwtApiKeyPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchApiTokensByIdResponse = zJwtApiKeyPostPatchResponse; + +export const zGetChunksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetChunksResponse = z.array(zChunkResponse); + +export const zGetChunksCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetChunksCountResponse = z.array(zChunkResponse); + +export const zGetChunksByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetChunksByIdByRelationResponse = zChunkRelationTaskGetResponse; + +export const zGetChunksByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetChunksByIdRelationshipsByRelationResponse = zChunkResponse; + +export const zPatchChunksByIdRelationshipsByRelationData = z.object({ + body: zChunkRelationTask, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchChunksByIdRelationshipsByRelationResponse = z.void(); + +export const zGetChunksByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetChunksByIdResponse = zChunkResponse; + +export const zGetConfigsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetConfigsResponse = z.array(zConfigResponse); + +export const zPatchConfigsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetConfigsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetConfigsCountResponse = z.array(zConfigResponse); + +export const zGetConfigsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetConfigsByIdByRelationResponse = zConfigRelationConfigSectionGetResponse; + +export const zGetConfigsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetConfigsByIdRelationshipsByRelationResponse = zConfigResponse; + +export const zPatchConfigsByIdRelationshipsByRelationData = z.object({ + body: zConfigRelationConfigSection, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchConfigsByIdRelationshipsByRelationResponse = z.void(); + +export const zGetConfigsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetConfigsByIdResponse = zConfigResponse; + +export const zPatchConfigsByIdData = z.object({ + body: zConfigPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchConfigsByIdResponse = zConfigPostPatchResponse; + +export const zGetConfigsectionsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetConfigsectionsResponse = z.array(zConfigSectionResponse); + +export const zGetConfigsectionsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetConfigsectionsCountResponse = z.array(zConfigSectionResponse); + +export const zGetConfigsectionsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetConfigsectionsByIdResponse = zConfigSectionResponse; + +export const zDeleteCrackersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetCrackersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetCrackersResponse = z.array(zCrackerBinaryResponse); + +export const zPatchCrackersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostCrackersData = z.object({ + body: zCrackerBinaryCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostCrackersResponse = zCrackerBinaryPostPatchResponse; + +export const zGetCrackersCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetCrackersCountResponse = z.array(zCrackerBinaryResponse); + +export const zGetCrackersByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetCrackersByIdByRelationResponse = zCrackerBinaryRelationTasksGetResponse; + +export const zDeleteCrackersByIdRelationshipsByRelationData = z.object({ + body: zCrackerBinaryRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteCrackersByIdRelationshipsByRelationResponse = z.void(); + +export const zGetCrackersByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetCrackersByIdRelationshipsByRelationResponse = zCrackerBinaryResponse; + +export const zPatchCrackersByIdRelationshipsByRelationData = z.object({ + body: zCrackerBinaryRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchCrackersByIdRelationshipsByRelationResponse = z.void(); + +export const zPostCrackersByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostCrackersByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteCrackersByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteCrackersByIdResponse = z.void(); + +export const zGetCrackersByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetCrackersByIdResponse = zCrackerBinaryResponse; + +export const zPatchCrackersByIdData = z.object({ + body: zCrackerBinaryPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchCrackersByIdResponse = zCrackerBinaryPostPatchResponse; + +export const zDeleteCrackertypesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetCrackertypesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetCrackertypesResponse = z.array(zCrackerBinaryTypeResponse); + +export const zPatchCrackertypesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostCrackertypesData = z.object({ + body: zCrackerBinaryTypeCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostCrackertypesResponse = zCrackerBinaryTypePostPatchResponse; + +export const zGetCrackertypesCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetCrackertypesCountResponse = z.array(zCrackerBinaryTypeResponse); + +export const zGetCrackertypesByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetCrackertypesByIdByRelationResponse = zCrackerBinaryTypeRelationTasksGetResponse; + +export const zDeleteCrackertypesByIdRelationshipsByRelationData = z.object({ + body: zCrackerBinaryTypeRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteCrackertypesByIdRelationshipsByRelationResponse = z.void(); + +export const zGetCrackertypesByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetCrackertypesByIdRelationshipsByRelationResponse = zCrackerBinaryTypeResponse; + +export const zPatchCrackertypesByIdRelationshipsByRelationData = z.object({ + body: zCrackerBinaryTypeRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchCrackertypesByIdRelationshipsByRelationResponse = z.void(); + +export const zPostCrackertypesByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostCrackertypesByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteCrackertypesByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteCrackertypesByIdResponse = z.void(); + +export const zGetCrackertypesByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetCrackertypesByIdResponse = zCrackerBinaryTypeResponse; + +export const zPatchCrackertypesByIdData = z.object({ + body: zCrackerBinaryTypePatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchCrackertypesByIdResponse = zCrackerBinaryTypePostPatchResponse; + +export const zDeleteFilesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetFilesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetFilesResponse = z.array(zFileResponse); + +export const zPatchFilesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostFilesData = z.object({ + body: zFileCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostFilesResponse = zFilePostPatchResponse; + +export const zGetFilesCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetFilesCountResponse = z.array(zFileResponse); + +export const zGetFilesByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetFilesByIdByRelationResponse = zFileRelationAccessGroupGetResponse; + +export const zGetFilesByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetFilesByIdRelationshipsByRelationResponse = zFileResponse; + +export const zPatchFilesByIdRelationshipsByRelationData = z.object({ + body: zFileRelationAccessGroup, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchFilesByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteFilesByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteFilesByIdResponse = z.void(); + +export const zGetFilesByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetFilesByIdResponse = zFileResponse; + +export const zPatchFilesByIdData = z.object({ + body: zFilePatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchFilesByIdResponse = zFilePostPatchResponse; + +export const zDeleteGlobalpermissiongroupsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetGlobalpermissiongroupsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetGlobalpermissiongroupsResponse = z.array(zRightGroupResponse); + +export const zPatchGlobalpermissiongroupsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostGlobalpermissiongroupsData = z.object({ + body: zRightGroupCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostGlobalpermissiongroupsResponse = zRightGroupPostPatchResponse; + +export const zGetGlobalpermissiongroupsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetGlobalpermissiongroupsCountResponse = z.array(zRightGroupResponse); + +export const zGetGlobalpermissiongroupsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetGlobalpermissiongroupsByIdByRelationResponse = zRightGroupRelationUserMembersGetResponse; + +export const zDeleteGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ + body: zRightGroupRelationUserMembers, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse = z.void(); + +export const zGetGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetGlobalpermissiongroupsByIdRelationshipsByRelationResponse = zRightGroupResponse; + +export const zPatchGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ + body: zRightGroupRelationUserMembers, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse = z.void(); + +export const zPostGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostGlobalpermissiongroupsByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteGlobalpermissiongroupsByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteGlobalpermissiongroupsByIdResponse = z.void(); + +export const zGetGlobalpermissiongroupsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetGlobalpermissiongroupsByIdResponse = zRightGroupResponse; + +export const zPatchGlobalpermissiongroupsByIdData = z.object({ + body: zRightGroupPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchGlobalpermissiongroupsByIdResponse = zRightGroupPostPatchResponse; + +export const zGetHashesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHashesResponse = z.array(zHashResponse); + +export const zGetHashesCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHashesCountResponse = z.array(zHashResponse); + +export const zGetHashesByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetHashesByIdByRelationResponse = zHashRelationHashlistGetResponse; + +export const zGetHashesByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetHashesByIdRelationshipsByRelationResponse = zHashResponse; + +export const zPatchHashesByIdRelationshipsByRelationData = z.object({ + body: zHashRelationHashlist, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchHashesByIdRelationshipsByRelationResponse = z.void(); + +export const zGetHashesByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHashesByIdResponse = zHashResponse; + +export const zDeleteHashlistsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetHashlistsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHashlistsResponse = z.array(zHashlistResponse); + +export const zPatchHashlistsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostHashlistsData = z.object({ + body: zHashlistCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostHashlistsResponse = zHashlistPostPatchResponse; + +export const zGetHashlistsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHashlistsCountResponse = z.array(zHashlistResponse); + +export const zGetHashlistsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetHashlistsByIdByRelationResponse = zHashlistRelationTasksGetResponse; + +export const zDeleteHashlistsByIdRelationshipsByRelationData = z.object({ + body: zHashlistRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteHashlistsByIdRelationshipsByRelationResponse = z.void(); + +export const zGetHashlistsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetHashlistsByIdRelationshipsByRelationResponse = zHashlistResponse; + +export const zPatchHashlistsByIdRelationshipsByRelationData = z.object({ + body: zHashlistRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchHashlistsByIdRelationshipsByRelationResponse = z.void(); + +export const zPostHashlistsByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostHashlistsByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteHashlistsByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteHashlistsByIdResponse = z.void(); + +export const zGetHashlistsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHashlistsByIdResponse = zHashlistResponse; + +export const zPatchHashlistsByIdData = z.object({ + body: zHashlistPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchHashlistsByIdResponse = zHashlistPostPatchResponse; + +export const zDeleteHashtypesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetHashtypesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHashtypesResponse = z.array(zHashTypeResponse); + +export const zPatchHashtypesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostHashtypesData = z.object({ + body: zHashTypeCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostHashtypesResponse = zHashTypePostPatchResponse; + +export const zGetHashtypesCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHashtypesCountResponse = z.array(zHashTypeResponse); + +export const zDeleteHashtypesByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteHashtypesByIdResponse = z.void(); + +export const zGetHashtypesByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHashtypesByIdResponse = zHashTypeResponse; + +export const zPatchHashtypesByIdData = z.object({ + body: zHashTypePatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchHashtypesByIdResponse = zHashTypePostPatchResponse; + +export const zGetHealthcheckagentsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHealthcheckagentsResponse = z.array(zHealthCheckAgentResponse); + +export const zGetHealthcheckagentsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHealthcheckagentsCountResponse = z.array(zHealthCheckAgentResponse); + +export const zGetHealthcheckagentsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetHealthcheckagentsByIdByRelationResponse = zHealthCheckAgentRelationHealthCheckGetResponse; + +export const zGetHealthcheckagentsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetHealthcheckagentsByIdRelationshipsByRelationResponse = zHealthCheckAgentResponse; + +export const zPatchHealthcheckagentsByIdRelationshipsByRelationData = z.object({ + body: zHealthCheckAgentRelationHealthCheck, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchHealthcheckagentsByIdRelationshipsByRelationResponse = z.void(); + +export const zGetHealthcheckagentsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHealthcheckagentsByIdResponse = zHealthCheckAgentResponse; + +export const zDeleteHealthchecksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetHealthchecksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHealthchecksResponse = z.array(zHealthCheckResponse); + +export const zPatchHealthchecksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostHealthchecksData = z.object({ + body: zHealthCheckCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostHealthchecksResponse = zHealthCheckPostPatchResponse; + +export const zGetHealthchecksCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHealthchecksCountResponse = z.array(zHealthCheckResponse); + +export const zGetHealthchecksByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetHealthchecksByIdByRelationResponse = zHealthCheckRelationHealthCheckAgentsGetResponse; + +export const zDeleteHealthchecksByIdRelationshipsByRelationData = z.object({ + body: zHealthCheckRelationHealthCheckAgents, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteHealthchecksByIdRelationshipsByRelationResponse = z.void(); + +export const zGetHealthchecksByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetHealthchecksByIdRelationshipsByRelationResponse = zHealthCheckResponse; + +export const zPatchHealthchecksByIdRelationshipsByRelationData = z.object({ + body: zHealthCheckRelationHealthCheckAgents, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchHealthchecksByIdRelationshipsByRelationResponse = z.void(); + +export const zPostHealthchecksByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostHealthchecksByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteHealthchecksByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteHealthchecksByIdResponse = z.void(); + +export const zGetHealthchecksByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetHealthchecksByIdResponse = zHealthCheckResponse; + +export const zPatchHealthchecksByIdData = z.object({ + body: zHealthCheckPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchHealthchecksByIdResponse = zHealthCheckPostPatchResponse; + +export const zDeleteLogentriesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetLogentriesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetLogentriesResponse = z.array(zLogEntryResponse); + +export const zPatchLogentriesData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostLogentriesData = z.object({ + body: zLogEntryCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostLogentriesResponse = zLogEntryPostPatchResponse; + +export const zGetLogentriesCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetLogentriesCountResponse = z.array(zLogEntryResponse); + +export const zDeleteLogentriesByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteLogentriesByIdResponse = z.void(); + +export const zGetLogentriesByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetLogentriesByIdResponse = zLogEntryResponse; + +export const zPatchLogentriesByIdData = z.object({ + body: zLogEntryPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchLogentriesByIdResponse = zLogEntryPostPatchResponse; + +export const zDeleteNotificationsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetNotificationsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetNotificationsResponse = z.array(zNotificationSettingResponse); + +export const zPatchNotificationsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostNotificationsData = z.object({ + body: zNotificationSettingCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostNotificationsResponse = zNotificationSettingPostPatchResponse; + +export const zGetNotificationsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetNotificationsCountResponse = z.array(zNotificationSettingResponse); + +export const zGetNotificationsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetNotificationsByIdByRelationResponse = zNotificationSettingRelationUserGetResponse; + +export const zGetNotificationsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetNotificationsByIdRelationshipsByRelationResponse = zNotificationSettingResponse; + +export const zPatchNotificationsByIdRelationshipsByRelationData = z.object({ + body: zNotificationSettingRelationUser, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchNotificationsByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteNotificationsByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteNotificationsByIdResponse = z.void(); + +export const zGetNotificationsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetNotificationsByIdResponse = zNotificationSettingResponse; + +export const zPatchNotificationsByIdData = z.object({ + body: zNotificationSettingPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchNotificationsByIdResponse = zNotificationSettingPostPatchResponse; + +export const zDeletePreprocessorsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetPreprocessorsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetPreprocessorsResponse = z.array(zPreprocessorResponse); + +export const zPatchPreprocessorsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostPreprocessorsData = z.object({ + body: zPreprocessorCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostPreprocessorsResponse = zPreprocessorPostPatchResponse; + +export const zGetPreprocessorsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetPreprocessorsCountResponse = z.array(zPreprocessorResponse); + +export const zDeletePreprocessorsByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeletePreprocessorsByIdResponse = z.void(); + +export const zGetPreprocessorsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetPreprocessorsByIdResponse = zPreprocessorResponse; + +export const zPatchPreprocessorsByIdData = z.object({ + body: zPreprocessorPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchPreprocessorsByIdResponse = zPreprocessorPostPatchResponse; + +export const zDeletePretasksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetPretasksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetPretasksResponse = z.array(zPretaskResponse); + +export const zPatchPretasksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostPretasksData = z.object({ + body: zPretaskCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostPretasksResponse = zPretaskPostPatchResponse; + +export const zGetPretasksCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetPretasksCountResponse = z.array(zPretaskResponse); + +export const zGetPretasksByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetPretasksByIdByRelationResponse = zPretaskRelationPretaskFilesGetResponse; + +export const zDeletePretasksByIdRelationshipsByRelationData = z.object({ + body: zPretaskRelationPretaskFiles, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeletePretasksByIdRelationshipsByRelationResponse = z.void(); + +export const zGetPretasksByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetPretasksByIdRelationshipsByRelationResponse = zPretaskResponse; + +export const zPatchPretasksByIdRelationshipsByRelationData = z.object({ + body: zPretaskRelationPretaskFiles, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchPretasksByIdRelationshipsByRelationResponse = z.void(); + +export const zPostPretasksByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostPretasksByIdRelationshipsByRelationResponse = z.void(); + +export const zDeletePretasksByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeletePretasksByIdResponse = z.void(); + +export const zGetPretasksByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetPretasksByIdResponse = zPretaskResponse; + +export const zPatchPretasksByIdData = z.object({ + body: zPretaskPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchPretasksByIdResponse = zPretaskPostPatchResponse; + +export const zGetSpeedsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetSpeedsResponse = z.array(zSpeedResponse); + +export const zGetSpeedsCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetSpeedsCountResponse = z.array(zSpeedResponse); + +export const zGetSpeedsByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetSpeedsByIdByRelationResponse = zSpeedRelationTaskGetResponse; + +export const zGetSpeedsByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetSpeedsByIdRelationshipsByRelationResponse = zSpeedResponse; + +export const zPatchSpeedsByIdRelationshipsByRelationData = z.object({ + body: zSpeedRelationTask, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchSpeedsByIdRelationshipsByRelationResponse = z.void(); + +export const zGetSpeedsByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetSpeedsByIdResponse = zSpeedResponse; + +export const zDeleteSupertasksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetSupertasksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetSupertasksResponse = z.array(zSupertaskResponse); + +export const zPatchSupertasksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostSupertasksData = z.object({ + body: zSupertaskCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostSupertasksResponse = zSupertaskPostPatchResponse; + +export const zGetSupertasksCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetSupertasksCountResponse = z.array(zSupertaskResponse); + +export const zGetSupertasksByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetSupertasksByIdByRelationResponse = zSupertaskRelationPretasksGetResponse; + +export const zDeleteSupertasksByIdRelationshipsByRelationData = z.object({ + body: zSupertaskRelationPretasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteSupertasksByIdRelationshipsByRelationResponse = z.void(); + +export const zGetSupertasksByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetSupertasksByIdRelationshipsByRelationResponse = zSupertaskResponse; + +export const zPatchSupertasksByIdRelationshipsByRelationData = z.object({ + body: zSupertaskRelationPretasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchSupertasksByIdRelationshipsByRelationResponse = z.void(); + +export const zPostSupertasksByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostSupertasksByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteSupertasksByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteSupertasksByIdResponse = z.void(); + +export const zGetSupertasksByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetSupertasksByIdResponse = zSupertaskResponse; + +export const zPatchSupertasksByIdData = z.object({ + body: zSupertaskPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchSupertasksByIdResponse = zSupertaskPostPatchResponse; + +export const zDeleteTasksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetTasksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetTasksResponse = z.array(zTaskResponse); + +export const zPatchTasksData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostTasksData = z.object({ + body: zTaskCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostTasksResponse = zTaskPostPatchResponse; + +export const zGetTasksCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetTasksCountResponse = z.array(zTaskResponse); + +export const zGetTasksByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetTasksByIdByRelationResponse = zTaskRelationSpeedsGetResponse; + +export const zDeleteTasksByIdRelationshipsByRelationData = z.object({ + body: zTaskRelationSpeeds, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteTasksByIdRelationshipsByRelationResponse = z.void(); + +export const zGetTasksByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetTasksByIdRelationshipsByRelationResponse = zTaskResponse; + +export const zPatchTasksByIdRelationshipsByRelationData = z.object({ + body: zTaskRelationSpeeds, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchTasksByIdRelationshipsByRelationResponse = z.void(); + +export const zPostTasksByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostTasksByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteTasksByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteTasksByIdResponse = z.void(); + +export const zGetTasksByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetTasksByIdResponse = zTaskResponse; + +export const zPatchTasksByIdData = z.object({ + body: zTaskPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchTasksByIdResponse = zTaskPostPatchResponse; + +export const zDeleteTaskwrappersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetTaskwrappersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetTaskwrappersResponse = z.array(zTaskWrapperResponse); + +export const zPatchTaskwrappersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetTaskwrappersCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetTaskwrappersCountResponse = z.array(zTaskWrapperResponse); + +export const zGetTaskwrappersByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetTaskwrappersByIdByRelationResponse = zTaskWrapperRelationTasksGetResponse; + +export const zDeleteTaskwrappersByIdRelationshipsByRelationData = z.object({ + body: zTaskWrapperRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteTaskwrappersByIdRelationshipsByRelationResponse = z.void(); + +export const zGetTaskwrappersByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetTaskwrappersByIdRelationshipsByRelationResponse = zTaskWrapperResponse; + +export const zPatchTaskwrappersByIdRelationshipsByRelationData = z.object({ + body: zTaskWrapperRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchTaskwrappersByIdRelationshipsByRelationResponse = z.void(); + +export const zPostTaskwrappersByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostTaskwrappersByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteTaskwrappersByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteTaskwrappersByIdResponse = z.void(); + +export const zGetTaskwrappersByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetTaskwrappersByIdResponse = zTaskWrapperResponse; + +export const zPatchTaskwrappersByIdData = z.object({ + body: zTaskWrapperPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchTaskwrappersByIdResponse = zTaskWrapperPostPatchResponse; + +export const zDeleteUsersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetUsersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetUsersResponse = z.array(zUserResponse); + +export const zPatchUsersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostUsersData = z.object({ + body: zUserCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostUsersResponse = zUserPostPatchResponse; + +export const zGetUsersCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetUsersCountResponse = z.array(zUserResponse); + +export const zGetUsersByIdByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetUsersByIdByRelationResponse = zUserRelationAccessGroupsGetResponse; + +export const zDeleteUsersByIdRelationshipsByRelationData = z.object({ + body: zUserRelationAccessGroups, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteUsersByIdRelationshipsByRelationResponse = z.void(); + +export const zGetUsersByIdRelationshipsByRelationData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zGetUsersByIdRelationshipsByRelationResponse = zUserResponse; + +export const zPatchUsersByIdRelationshipsByRelationData = z.object({ + body: zUserRelationAccessGroups, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * Successfull operation + */ +export const zPatchUsersByIdRelationshipsByRelationResponse = z.void(); + +export const zPostUsersByIdRelationshipsByRelationData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() +}); + +/** + * successfully created + */ +export const zPostUsersByIdRelationshipsByRelationResponse = z.void(); + +export const zDeleteUsersByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteUsersByIdResponse = z.void(); + +export const zGetUsersByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetUsersByIdResponse = zUserResponse; + +export const zPatchUsersByIdData = z.object({ + body: zUserPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchUsersByIdResponse = zUserPostPatchResponse; + +export const zDeleteVouchersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetVouchersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetVouchersResponse = z.array(zRegVoucherResponse); + +export const zPatchVouchersData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostVouchersData = z.object({ + body: zRegVoucherCreate, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostVouchersResponse = zRegVoucherPostPatchResponse; + +export const zGetVouchersCountData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetVouchersCountResponse = z.array(zRegVoucherResponse); + +export const zDeleteVouchersByIdData = z.object({ + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successfully deleted + */ +export const zDeleteVouchersByIdResponse = z.void(); + +export const zGetVouchersByIdData = z.object({ + body: z.never().optional(), + path: z.object({ + id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z.object({ + include: z.string().optional() + }).optional() +}); + +/** + * successful operation + */ +export const zGetVouchersByIdResponse = zRegVoucherResponse; + +export const zPatchVouchersByIdData = z.object({ + body: zRegVoucherPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPatchVouchersByIdResponse = zRegVoucherPostPatchResponse; + +export const zPostAbortChunkData = z.object({ + body: zAbortChunkHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostAbortChunkResponse = zAbortChunkHelperApiResponse; + +export const zPostAssignAgentData = z.object({ + body: zAssignAgentHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostAssignAgentResponse = zAssignAgentHelperApiResponse; + +export const zPostBulkSupertaskBuilderData = z.object({ + body: zBulkSupertaskBuilderHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostBulkSupertaskBuilderResponse = zSupertaskSingleResponse; + +export const zPostChangeOwnPasswordData = z.object({ + body: zChangeOwnPasswordHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostChangeOwnPasswordResponse = zChangeOwnPasswordHelperApiResponse; + +export const zPostCreateSuperHashlistData = z.object({ + body: zCreateSuperHashlistHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostCreateSuperHashlistResponse = zHashlistSingleResponse; + +export const zPostCreateSupertaskData = z.object({ + body: zCreateSupertaskHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostCreateSupertaskResponse = zTaskWrapperSingleResponse; + +export const zGetCurrentUserData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPatchCurrentUserData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostExportCrackedHashesData = z.object({ + body: zExportCrackedHashesHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostExportCrackedHashesResponse = zFileSingleResponse; + +export const zPostExportLeftHashesData = z.object({ + body: zExportLeftHashesHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostExportLeftHashesResponse = zFileSingleResponse; + +export const zPostExportWordlistData = z.object({ + body: zExportWordlistHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostExportWordlistResponse = zFileSingleResponse; + +export const zGetGetAccessGroupsData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zGetGetAgentBinaryData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + agent: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }) +}); + +export const zGetGetBestTasksAgentData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + agent: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }) +}); + +export const zGetGetCracksOfTaskData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + task: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }) +}); + +export const zGetGetFileData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + file: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }) +}); + +export const zGetGetTaskProgressImageData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + supertask: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), + task: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional() + }).optional() +}); + +export const zGetGetUserPermissionData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostImportCrackedHashesData = z.object({ + body: zImportCrackedHashesHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostImportCrackedHashesResponse = zImportCrackedHashesHelperApiResponse; + +export const zGetImportFileData = z.object({ + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() +}); + +export const zPostImportFileData = z.object({ + body: zImportFileHelperApi, + path: z.never().optional(), + query: z.never().optional(), + headers: z.object({ + 'Upload-Metadata': z.string().regex(/^([a-zA-Z0-9]+ [A-Za-z0-9+\/=]+)(,[a-zA-Z0-9]+ [A-Za-z0-9+\/=]+)*$/), + 'Upload-Length': z.int().gte(1).optional(), + 'Upload-Defer-Length': z.int().optional() + }) +}); + +export const zPostImportFileResponse = z.union([ + z.unknown(), + z.string() +]); + +export const zDeleteImportFileById09aF32Data = z.object({ + body: z.never().optional(), + path: z.object({ + 32: z.string(), + id: z.int() + }), + query: z.never().optional() +}); + +export const zHeadImportFileById09aF32Data = z.object({ + body: z.never().optional(), + path: z.object({ + 32: z.string(), + id: z.int() + }), + query: z.never().optional() +}); + +export const zPatchImportFileById09aF32Data = z.object({ + body: z.string(), + path: z.object({ + 32: z.string(), + id: z.int() + }), + query: z.never().optional(), + headers: z.object({ + 'Upload-Offset': z.int(), + 'Content-Type': z.enum(['application/offset+octet-stream']) + }) +}); + +export const zPatchImportFileById09aF32Response = z.union([ + z.unknown(), + z.void() +]); + +export const zPostMaskSupertaskBuilderData = z.object({ + body: zMaskSupertaskBuilderHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostMaskSupertaskBuilderResponse = zSupertaskSingleResponse; + +export const zPostPurgeTaskData = z.object({ + body: zPurgeTaskHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostPurgeTaskResponse = zPurgeTaskHelperApiResponse; + +export const zPostRebuildChunkCacheData = z.object({ + body: zRebuildChunkCacheHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostRebuildChunkCacheResponse = zRebuildChunkCacheHelperApiResponse; + +export const zPostRecountFileLinesData = z.object({ + body: zRecountFileLinesHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostRecountFileLinesResponse = zFileSingleResponse; + +export const zPostRescanGlobalFilesData = z.object({ + body: zRescanGlobalFilesHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostRescanGlobalFilesResponse = zRescanGlobalFilesHelperApiResponse; + +export const zPostResetChunkData = z.object({ + body: zResetChunkHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostResetChunkResponse = zResetChunkHelperApiResponse; + +export const zPostResetUserPasswordData = z.object({ + body: zResetUserPasswordHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostResetUserPasswordResponse = zResetUserPasswordHelperApiResponse; + +export const zPostSearchHashesData = z.object({ + body: zSearchHashesHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostSearchHashesResponse = zSearchHashesHelperApiResponse; + +export const zPostSetUserPasswordData = z.object({ + body: zSetUserPasswordHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostSetUserPasswordResponse = zSetUserPasswordHelperApiResponse; + +export const zPostUnassignAgentData = z.object({ + body: zUnassignAgentHelperApi, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * successful operation + */ +export const zPostUnassignAgentResponse = zUnassignAgentHelperApiResponse; + +export const zPostTokenData = z.object({ + body: zTokenRequest, + path: z.never().optional(), + query: z.never().optional() +}); + +/** + * Success + */ +export const zPostTokenResponse = zToken; diff --git a/tsconfig.json b/tsconfig.json index 6d880fc2d..143579e9a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,4 +1,3 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "compileOnSave": false, "compilerOptions": { @@ -51,7 +50,8 @@ "ES2022", "dom" ], - "useDefineForClassFields": false + "useDefineForClassFields": false, + "skipLibCheck": true }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, From bfe3c66a9f62660c2fc72a1ccc87bb4f2fdb1027 Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Mon, 23 Mar 2026 08:43:40 +0100 Subject: [PATCH 02/14] Update generated schemas and types and use them in responses (temporarily with type assertions in some cases) --- openapi.json | 21518 +++++++++++++++- package.json | 4 +- scripts/postprocess-zod.mjs | 28 + .../acc-settings/acc-settings.component.ts | 4 +- .../agents/edit-agent/edit-agent.component.ts | 25 +- src/app/agents/edit-agent/edit-agent.form.ts | 2 +- .../agents/new-agent/new-agent.component.ts | 10 +- .../new_edit-preprocessor.component.ts | 7 +- .../new-health-checks.component.ts | 13 +- .../view-health-checks.component.ts | 6 +- .../new-superhashlist.component.ts | 8 +- .../new-supertasks.component.ts | 6 +- .../simple-forms/formconfig.component.ts | 5 +- .../access-groups-expand.datasource.ts | 8 +- .../_datasources/access-groups.datasource.ts | 7 +- ...ess-permission-groups-expand.datasource.ts | 7 +- .../_datasources/agent-binaries.datasource.ts | 5 +- .../_datasources/agent-error.datasource.ts | 10 +- .../core/_datasources/agents.datasource.ts | 25 +- .../core/_datasources/chunks.datasource.ts | 5 +- .../core/_datasources/crackers.datasource.ts | 7 +- .../core/_datasources/cracks.datasource.ts | 8 +- src/app/core/_datasources/files.datasource.ts | 19 +- .../core/_datasources/hashes.datasource.ts | 13 +- .../core/_datasources/hashlists.datasource.ts | 13 +- .../core/_datasources/hashtypes.datasource.ts | 5 +- .../health-check-agents.datasource.ts | 8 +- .../_datasources/health-checks.datasource.ts | 5 +- src/app/core/_datasources/logs.datasource.ts | 9 +- .../_datasources/notifications.datasource.ts | 5 +- .../_datasources/permissions.datasource.ts | 5 +- .../preconfigured-tasks.datasource.ts | 11 +- .../_datasources/preprocessors.datasource.ts | 5 +- .../_datasources/search-hash.datasource.ts | 5 +- .../super-hashlists.datasource.ts | 7 +- .../supertasks-pretasks.datasource.ts | 8 +- .../_datasources/supertasks.datasource.ts | 5 +- .../_datasources/tasks-chunks.datasource.ts | 14 +- .../tasks-supertasks.datasource.ts | 12 +- src/app/core/_datasources/tasks.datasource.ts | 7 +- src/app/core/_datasources/users.datasource.ts | 6 +- .../core/_datasources/vouchers.datasource.ts | 8 +- src/app/core/_models/agent-errors.model.ts | 3 +- src/app/core/_models/agent.model.ts | 6 +- src/app/core/_models/chunk.model.ts | 2 +- .../_models/global-permission-group.model.ts | 2 +- src/app/core/_models/hashlist.model.ts | 8 +- src/app/core/_models/health-check.model.ts | 3 +- src/app/core/_models/json-api.types.ts | 54 +- src/app/core/_models/pretask.model.ts | 2 +- src/app/core/_models/speed-stat.model.ts | 2 +- src/app/core/_models/task.model.ts | 28 +- src/app/core/_models/user.model.ts | 2 +- .../core/_services/api/serializer-service.ts | 21 +- .../permission/permission.service.ts | 5 +- .../core/_services/shared/storage.service.ts | 6 +- .../files/new-files/new-files.component.ts | 6 +- .../edit-hashlist/edit-hashlist.component.ts | 17 +- src/app/hashlists/hashes/hashes.component.ts | 16 +- .../import-cracked-hashes.component.ts | 6 +- .../new-hashlist/new-hashlist.component.ts | 13 +- src/app/home/home.component.ts | 8 +- .../task-visual/task-visual.component.ts | 13 +- .../datasources/hashlists.datasource.ts | 4 +- .../edit-preconfigured-tasks.component.ts | 7 +- .../edit-supertasks.component.ts | 18 +- .../tasks/edit-tasks/edit-tasks.component.ts | 23 +- .../masks/masks.component.ts | 11 +- .../wrbulk/wrbulk.component.ts | 12 +- .../new-preconfigured-tasks.component.ts | 7 +- .../tasks/new-tasks/new-tasks.component.ts | 29 +- .../supertasks/applyhashlist.component.ts | 22 +- .../edit-groups/edit-groups.component.ts | 18 +- .../users/edit-users/edit-users.component.ts | 12 +- .../edit-globalpermissionsgroups.component.ts | 7 +- src/app/users/new-user/new-user.component.ts | 6 +- src/generated/api/index.ts | 2 +- src/generated/api/types.gen.ts | 4770 +++- src/generated/api/zod.gen.ts | 4791 +++- tsconfig.json | 3 + 80 files changed, 28762 insertions(+), 3091 deletions(-) create mode 100644 scripts/postprocess-zod.mjs diff --git a/openapi.json b/openapi.json index b44b07c19..5a3a40c90 100644 --- a/openapi.json +++ b/openapi.json @@ -1 +1,21517 @@ -{"openapi":"3.1.0","info":{"title":"Hashtopolis API","version":"v2","description":"Hashtopolis REST API","contact":{"name":"Hashtopolis","url":"https://github.com/hashtopolis/server"}},"servers":[{"url":"/"}],"paths":{"/api/v2/ui/accessgroups":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessGroupResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: userMembers,agentMembers"}],"summary":"List AccessGroups","operationId":"getAccessgroups"},"post":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupCreate"}}}},"parameters":[],"summary":"Create AccessGroups","operationId":"postAccessgroups"},"patch":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update AccessGroups","operationId":"patchAccessgroups"},"delete":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete AccessGroups","parameters":[],"summary":"Delete AccessGroups","operationId":"deleteAccessgroups"}},"/api/v2/ui/accessgroups/count":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessGroupResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: userMembers,agentMembers"}],"summary":"Count AccessGroups","operationId":"getAccessgroupsCount"}},"/api/v2/ui/accessgroups/{id}/{relation}":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupRelationAgentMembersGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get AccessGroups","operationId":"getAccessgroupsByIdByRelation"}},"/api/v2/ui/accessgroups/{id}/relationships/{relation}":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get AccessGroups","operationId":"getAccessgroupsByIdRelationshipsByRelation"},"patch":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupRelationAgentMembers"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update AccessGroups","operationId":"patchAccessgroupsByIdRelationshipsByRelation"},"post":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add AccessGroups relationship","operationId":"postAccessgroupsByIdRelationshipsByRelation"},"delete":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove AccessGroups relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupRelationAgentMembers"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove AccessGroups relationship","operationId":"deleteAccessgroupsByIdRelationshipsByRelation"}},"/api/v2/ui/accessgroups/{id}":{"get":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get AccessGroups","operationId":"getAccessgroupsById"},"patch":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGroupPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update AccessGroups","operationId":"patchAccessgroupsById"},"delete":{"tags":["AccessGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete AccessGroups","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete AccessGroups","operationId":"deleteAccessgroupsById"}},"/api/v2/ui/agents":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments"}],"summary":"List Agents","operationId":"getAgents"},"patch":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Agents","operationId":"patchAgents"},"delete":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Agents","parameters":[],"summary":"Delete Agents","operationId":"deleteAgents"}},"/api/v2/ui/agents/count":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments"}],"summary":"Count Agents","operationId":"getAgentsCount"}},"/api/v2/ui/agents/{id}/{relation}":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRelationAssignmentsGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Agents","operationId":"getAgentsByIdByRelation"}},"/api/v2/ui/agents/{id}/relationships/{relation}":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Agents","operationId":"getAgentsByIdRelationshipsByRelation"},"patch":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRelationAssignments"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Agents","operationId":"patchAgentsByIdRelationshipsByRelation"},"post":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Agents relationship","operationId":"postAgentsByIdRelationshipsByRelation"},"delete":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Agents relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRelationAssignments"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Agents relationship","operationId":"deleteAgentsByIdRelationshipsByRelation"}},"/api/v2/ui/agents/{id}":{"get":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Agents","operationId":"getAgentsById"},"patch":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Agents","operationId":"patchAgentsById"},"delete":{"tags":["Agents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Agents","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Agents","operationId":"deleteAgentsById"}},"/api/v2/ui/agentassignments":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssignmentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"List Assignments","operationId":"getAgentassignments"},"post":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentCreate"}}}},"parameters":[],"summary":"Create Assignments","operationId":"postAgentassignments"},"patch":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Assignments","operationId":"patchAgentassignments"},"delete":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Assignments","parameters":[],"summary":"Delete Assignments","operationId":"deleteAgentassignments"}},"/api/v2/ui/agentassignments/count":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssignmentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"Count Assignments","operationId":"getAgentassignmentsCount"}},"/api/v2/ui/agentassignments/{id}/{relation}":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentRelationTaskGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Assignments","operationId":"getAgentassignmentsByIdByRelation"}},"/api/v2/ui/agentassignments/{id}/relationships/{relation}":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Assignments","operationId":"getAgentassignmentsByIdRelationshipsByRelation"},"patch":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentRelationTask"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Assignments","operationId":"patchAgentassignmentsByIdRelationshipsByRelation"}},"/api/v2/ui/agentassignments/{id}":{"get":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Assignments","operationId":"getAgentassignmentsById"},"patch":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Assignments","operationId":"patchAgentassignmentsById"},"delete":{"tags":["Assignments"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Assignments","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Assignments","operationId":"deleteAgentassignmentsById"}},"/api/v2/ui/agentbinaries":{"get":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentBinaryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List AgentBinarys","operationId":"getAgentbinaries"},"post":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryCreate"}}}},"parameters":[],"summary":"Create AgentBinarys","operationId":"postAgentbinaries"},"patch":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update AgentBinarys","operationId":"patchAgentbinaries"},"delete":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentBinarys","parameters":[],"summary":"Delete AgentBinarys","operationId":"deleteAgentbinaries"}},"/api/v2/ui/agentbinaries/count":{"get":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentBinaryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count AgentBinarys","operationId":"getAgentbinariesCount"}},"/api/v2/ui/agentbinaries/{id}":{"get":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get AgentBinarys","operationId":"getAgentbinariesById"},"patch":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentBinaryPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update AgentBinarys","operationId":"patchAgentbinariesById"},"delete":{"tags":["AgentBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentBinarys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete AgentBinarys","operationId":"deleteAgentbinariesById"}},"/api/v2/ui/agenterrors":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentErrorResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: task"}],"summary":"List AgentErrors","operationId":"getAgenterrors"},"delete":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentErrors","parameters":[],"summary":"Delete AgentErrors","operationId":"deleteAgenterrors"}},"/api/v2/ui/agenterrors/count":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentErrorResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: task"}],"summary":"Count AgentErrors","operationId":"getAgenterrorsCount"}},"/api/v2/ui/agenterrors/{id}/{relation}":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorRelationTaskGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get AgentErrors","operationId":"getAgenterrorsByIdByRelation"}},"/api/v2/ui/agenterrors/{id}/relationships/{relation}":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get AgentErrors","operationId":"getAgenterrorsByIdRelationshipsByRelation"},"patch":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorRelationTask"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update AgentErrors","operationId":"patchAgenterrorsByIdRelationshipsByRelation"}},"/api/v2/ui/agenterrors/{id}":{"get":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get AgentErrors","operationId":"getAgenterrorsById"},"delete":{"tags":["AgentErrors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentErrors","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete AgentErrors","operationId":"deleteAgenterrorsById"}},"/api/v2/ui/agentstats":{"get":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentStatResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List AgentStats","operationId":"getAgentstats"},"delete":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentStats","parameters":[],"summary":"Delete AgentStats","operationId":"deleteAgentstats"}},"/api/v2/ui/agentstats/count":{"get":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentStatResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count AgentStats","operationId":"getAgentstatsCount"}},"/api/v2/ui/agentstats/{id}":{"get":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentStatResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get AgentStats","operationId":"getAgentstatsById"},"delete":{"tags":["AgentStats"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete AgentStats","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete AgentStats","operationId":"deleteAgentstatsById"}},"/api/v2/ui/apiTokens":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JwtApiKeyResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user"}],"summary":"List JwtApiKeys","operationId":"getApiTokens"},"post":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyCreate"}}}},"parameters":[],"summary":"Create JwtApiKeys","operationId":"postApiTokens"},"patch":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update JwtApiKeys","operationId":"patchApiTokens"},"delete":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete JwtApiKeys","parameters":[],"summary":"Delete JwtApiKeys","operationId":"deleteApiTokens"}},"/api/v2/ui/apiTokens/count":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JwtApiKeyResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user"}],"summary":"Count JwtApiKeys","operationId":"getApiTokensCount"}},"/api/v2/ui/apiTokens/{id}/{relation}":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyRelationUserGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get JwtApiKeys","operationId":"getApiTokensByIdByRelation"}},"/api/v2/ui/apiTokens/{id}/relationships/{relation}":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get JwtApiKeys","operationId":"getApiTokensByIdRelationshipsByRelation"},"patch":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyRelationUser"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update JwtApiKeys","operationId":"patchApiTokensByIdRelationshipsByRelation"}},"/api/v2/ui/apiTokens/{id}":{"get":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get JwtApiKeys","operationId":"getApiTokensById"},"patch":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtApiKeyPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update JwtApiKeys","operationId":"patchApiTokensById"},"delete":{"tags":["JwtApiKeys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete JwtApiKeys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete JwtApiKeys","operationId":"deleteApiTokensById"}},"/api/v2/ui/chunks":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChunkResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"List Chunks","operationId":"getChunks"}},"/api/v2/ui/chunks/count":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChunkResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"Count Chunks","operationId":"getChunksCount"}},"/api/v2/ui/chunks/{id}/{relation}":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunkRelationTaskGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Chunks","operationId":"getChunksByIdByRelation"}},"/api/v2/ui/chunks/{id}/relationships/{relation}":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunkResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Chunks","operationId":"getChunksByIdRelationshipsByRelation"},"patch":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunkRelationTask"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Chunks","operationId":"patchChunksByIdRelationshipsByRelation"}},"/api/v2/ui/chunks/{id}":{"get":{"tags":["Chunks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunkResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Chunks","operationId":"getChunksById"}},"/api/v2/ui/configs":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: configSection"}],"summary":"List Configs","operationId":"getConfigs"},"patch":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Configs","operationId":"patchConfigs"}},"/api/v2/ui/configs/count":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: configSection"}],"summary":"Count Configs","operationId":"getConfigsCount"}},"/api/v2/ui/configs/{id}/{relation}":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigRelationConfigSectionGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Configs","operationId":"getConfigsByIdByRelation"}},"/api/v2/ui/configs/{id}/relationships/{relation}":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Configs","operationId":"getConfigsByIdRelationshipsByRelation"},"patch":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigRelationConfigSection"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Configs","operationId":"patchConfigsByIdRelationshipsByRelation"}},"/api/v2/ui/configs/{id}":{"get":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Configs","operationId":"getConfigsById"},"patch":{"tags":["Configs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Configs","operationId":"patchConfigsById"}},"/api/v2/ui/configsections":{"get":{"tags":["ConfigSections"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigSectionResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List ConfigSections","operationId":"getConfigsections"}},"/api/v2/ui/configsections/count":{"get":{"tags":["ConfigSections"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigSectionResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count ConfigSections","operationId":"getConfigsectionsCount"}},"/api/v2/ui/configsections/{id}":{"get":{"tags":["ConfigSections"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigSectionResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get ConfigSections","operationId":"getConfigsectionsById"}},"/api/v2/ui/crackers":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CrackerBinaryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinaryType,tasks"}],"summary":"List CrackerBinarys","operationId":"getCrackers"},"post":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryCreate"}}}},"parameters":[],"summary":"Create CrackerBinarys","operationId":"postCrackers"},"patch":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update CrackerBinarys","operationId":"patchCrackers"},"delete":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete CrackerBinarys","parameters":[],"summary":"Delete CrackerBinarys","operationId":"deleteCrackers"}},"/api/v2/ui/crackers/count":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CrackerBinaryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinaryType,tasks"}],"summary":"Count CrackerBinarys","operationId":"getCrackersCount"}},"/api/v2/ui/crackers/{id}/{relation}":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryRelationTasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get CrackerBinarys","operationId":"getCrackersByIdByRelation"}},"/api/v2/ui/crackers/{id}/relationships/{relation}":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get CrackerBinarys","operationId":"getCrackersByIdRelationshipsByRelation"},"patch":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update CrackerBinarys","operationId":"patchCrackersByIdRelationshipsByRelation"},"post":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add CrackerBinarys relationship","operationId":"postCrackersByIdRelationshipsByRelation"},"delete":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove CrackerBinarys relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove CrackerBinarys relationship","operationId":"deleteCrackersByIdRelationshipsByRelation"}},"/api/v2/ui/crackers/{id}":{"get":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get CrackerBinarys","operationId":"getCrackersById"},"patch":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update CrackerBinarys","operationId":"patchCrackersById"},"delete":{"tags":["CrackerBinarys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete CrackerBinarys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete CrackerBinarys","operationId":"deleteCrackersById"}},"/api/v2/ui/crackertypes":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CrackerBinaryTypeResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerVersions,tasks"}],"summary":"List CrackerBinaryTypes","operationId":"getCrackertypes"},"post":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeCreate"}}}},"parameters":[],"summary":"Create CrackerBinaryTypes","operationId":"postCrackertypes"},"patch":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update CrackerBinaryTypes","operationId":"patchCrackertypes"},"delete":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete CrackerBinaryTypes","parameters":[],"summary":"Delete CrackerBinaryTypes","operationId":"deleteCrackertypes"}},"/api/v2/ui/crackertypes/count":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CrackerBinaryTypeResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerVersions,tasks"}],"summary":"Count CrackerBinaryTypes","operationId":"getCrackertypesCount"}},"/api/v2/ui/crackertypes/{id}/{relation}":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeRelationTasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get CrackerBinaryTypes","operationId":"getCrackertypesByIdByRelation"}},"/api/v2/ui/crackertypes/{id}/relationships/{relation}":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get CrackerBinaryTypes","operationId":"getCrackertypesByIdRelationshipsByRelation"},"patch":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update CrackerBinaryTypes","operationId":"patchCrackertypesByIdRelationshipsByRelation"},"post":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add CrackerBinaryTypes relationship","operationId":"postCrackertypesByIdRelationshipsByRelation"},"delete":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove CrackerBinaryTypes relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove CrackerBinaryTypes relationship","operationId":"deleteCrackertypesByIdRelationshipsByRelation"}},"/api/v2/ui/crackertypes/{id}":{"get":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypeResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get CrackerBinaryTypes","operationId":"getCrackertypesById"},"patch":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrackerBinaryTypePatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update CrackerBinaryTypes","operationId":"patchCrackertypesById"},"delete":{"tags":["CrackerBinaryTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete CrackerBinaryTypes","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete CrackerBinaryTypes","operationId":"deleteCrackertypesById"}},"/api/v2/ui/files":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup"}],"summary":"List Files","operationId":"getFiles"},"post":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileCreate"}}}},"parameters":[],"summary":"Create Files","operationId":"postFiles"},"patch":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Files","operationId":"patchFiles"},"delete":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Files","parameters":[],"summary":"Delete Files","operationId":"deleteFiles"}},"/api/v2/ui/files/count":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup"}],"summary":"Count Files","operationId":"getFilesCount"}},"/api/v2/ui/files/{id}/{relation}":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileRelationAccessGroupGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Files","operationId":"getFilesByIdByRelation"}},"/api/v2/ui/files/{id}/relationships/{relation}":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Files","operationId":"getFilesByIdRelationshipsByRelation"},"patch":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileRelationAccessGroup"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Files","operationId":"patchFilesByIdRelationshipsByRelation"}},"/api/v2/ui/files/{id}":{"get":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Files","operationId":"getFilesById"},"patch":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilePatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Files","operationId":"patchFilesById"},"delete":{"tags":["Files"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Files","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Files","operationId":"deleteFilesById"}},"/api/v2/ui/globalpermissiongroups":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RightGroupResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: userMembers"}],"summary":"List RightGroups","operationId":"getGlobalpermissiongroups"},"post":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupCreate"}}}},"parameters":[],"summary":"Create RightGroups","operationId":"postGlobalpermissiongroups"},"patch":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update RightGroups","operationId":"patchGlobalpermissiongroups"},"delete":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete RightGroups","parameters":[],"summary":"Delete RightGroups","operationId":"deleteGlobalpermissiongroups"}},"/api/v2/ui/globalpermissiongroups/count":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RightGroupResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: userMembers"}],"summary":"Count RightGroups","operationId":"getGlobalpermissiongroupsCount"}},"/api/v2/ui/globalpermissiongroups/{id}/{relation}":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupRelationUserMembersGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get RightGroups","operationId":"getGlobalpermissiongroupsByIdByRelation"}},"/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get RightGroups","operationId":"getGlobalpermissiongroupsByIdRelationshipsByRelation"},"patch":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupRelationUserMembers"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update RightGroups","operationId":"patchGlobalpermissiongroupsByIdRelationshipsByRelation"},"post":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add RightGroups relationship","operationId":"postGlobalpermissiongroupsByIdRelationshipsByRelation"},"delete":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove RightGroups relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupRelationUserMembers"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove RightGroups relationship","operationId":"deleteGlobalpermissiongroupsByIdRelationshipsByRelation"}},"/api/v2/ui/globalpermissiongroups/{id}":{"get":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get RightGroups","operationId":"getGlobalpermissiongroupsById"},"patch":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightGroupPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update RightGroups","operationId":"patchGlobalpermissiongroupsById"},"delete":{"tags":["RightGroups"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete RightGroups","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete RightGroups","operationId":"deleteGlobalpermissiongroupsById"}},"/api/v2/ui/hashes":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: chunk,hashlist"}],"summary":"List Hashs","operationId":"getHashes"}},"/api/v2/ui/hashes/count":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: chunk,hashlist"}],"summary":"Count Hashs","operationId":"getHashesCount"}},"/api/v2/ui/hashes/{id}/{relation}":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashRelationHashlistGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Hashs","operationId":"getHashesByIdByRelation"}},"/api/v2/ui/hashes/{id}/relationships/{relation}":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Hashs","operationId":"getHashesByIdRelationshipsByRelation"},"patch":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashRelationHashlist"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Hashs","operationId":"patchHashesByIdRelationshipsByRelation"}},"/api/v2/ui/hashes/{id}":{"get":{"tags":["Hashs"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Hashs","operationId":"getHashesById"}},"/api/v2/ui/hashlists":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashlistResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks"}],"summary":"List Hashlists","operationId":"getHashlists"},"post":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistCreate"}}}},"parameters":[],"summary":"Create Hashlists","operationId":"postHashlists"},"patch":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Hashlists","operationId":"patchHashlists"},"delete":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Hashlists","parameters":[],"summary":"Delete Hashlists","operationId":"deleteHashlists"}},"/api/v2/ui/hashlists/count":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashlistResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks"}],"summary":"Count Hashlists","operationId":"getHashlistsCount"}},"/api/v2/ui/hashlists/{id}/{relation}":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistRelationTasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Hashlists","operationId":"getHashlistsByIdByRelation"}},"/api/v2/ui/hashlists/{id}/relationships/{relation}":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Hashlists","operationId":"getHashlistsByIdRelationshipsByRelation"},"patch":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Hashlists","operationId":"patchHashlistsByIdRelationshipsByRelation"},"post":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Hashlists relationship","operationId":"postHashlistsByIdRelationshipsByRelation"},"delete":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Hashlists relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Hashlists relationship","operationId":"deleteHashlistsByIdRelationshipsByRelation"}},"/api/v2/ui/hashlists/{id}":{"get":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Hashlists","operationId":"getHashlistsById"},"patch":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Hashlists","operationId":"patchHashlistsById"},"delete":{"tags":["Hashlists"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Hashlists","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Hashlists","operationId":"deleteHashlistsById"}},"/api/v2/ui/hashtypes":{"get":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashTypeResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List HashTypes","operationId":"getHashtypes"},"post":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypeCreate"}}}},"parameters":[],"summary":"Create HashTypes","operationId":"postHashtypes"},"patch":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update HashTypes","operationId":"patchHashtypes"},"delete":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete HashTypes","parameters":[],"summary":"Delete HashTypes","operationId":"deleteHashtypes"}},"/api/v2/ui/hashtypes/count":{"get":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HashTypeResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count HashTypes","operationId":"getHashtypesCount"}},"/api/v2/ui/hashtypes/{id}":{"get":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypeResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get HashTypes","operationId":"getHashtypesById"},"patch":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypePostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashTypePatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update HashTypes","operationId":"patchHashtypesById"},"delete":{"tags":["HashTypes"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete HashTypes","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete HashTypes","operationId":"deleteHashtypesById"}},"/api/v2/ui/healthcheckagents":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthCheckAgentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,healthCheck"}],"summary":"List HealthCheckAgents","operationId":"getHealthcheckagents"}},"/api/v2/ui/healthcheckagents/count":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthCheckAgentResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,healthCheck"}],"summary":"Count HealthCheckAgents","operationId":"getHealthcheckagentsCount"}},"/api/v2/ui/healthcheckagents/{id}/{relation}":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckAgentRelationHealthCheckGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get HealthCheckAgents","operationId":"getHealthcheckagentsByIdByRelation"}},"/api/v2/ui/healthcheckagents/{id}/relationships/{relation}":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckAgentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get HealthCheckAgents","operationId":"getHealthcheckagentsByIdRelationshipsByRelation"},"patch":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckAgentRelationHealthCheck"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update HealthCheckAgents","operationId":"patchHealthcheckagentsByIdRelationshipsByRelation"}},"/api/v2/ui/healthcheckagents/{id}":{"get":{"tags":["HealthCheckAgents"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckAgentResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get HealthCheckAgents","operationId":"getHealthcheckagentsById"}},"/api/v2/ui/healthchecks":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthCheckResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents"}],"summary":"List HealthChecks","operationId":"getHealthchecks"},"post":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckCreate"}}}},"parameters":[],"summary":"Create HealthChecks","operationId":"postHealthchecks"},"patch":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update HealthChecks","operationId":"patchHealthchecks"},"delete":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete HealthChecks","parameters":[],"summary":"Delete HealthChecks","operationId":"deleteHealthchecks"}},"/api/v2/ui/healthchecks/count":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthCheckResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents"}],"summary":"Count HealthChecks","operationId":"getHealthchecksCount"}},"/api/v2/ui/healthchecks/{id}/{relation}":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckRelationHealthCheckAgentsGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get HealthChecks","operationId":"getHealthchecksByIdByRelation"}},"/api/v2/ui/healthchecks/{id}/relationships/{relation}":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get HealthChecks","operationId":"getHealthchecksByIdRelationshipsByRelation"},"patch":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckRelationHealthCheckAgents"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update HealthChecks","operationId":"patchHealthchecksByIdRelationshipsByRelation"},"post":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add HealthChecks relationship","operationId":"postHealthchecksByIdRelationshipsByRelation"},"delete":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove HealthChecks relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckRelationHealthCheckAgents"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove HealthChecks relationship","operationId":"deleteHealthchecksByIdRelationshipsByRelation"}},"/api/v2/ui/healthchecks/{id}":{"get":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get HealthChecks","operationId":"getHealthchecksById"},"patch":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update HealthChecks","operationId":"patchHealthchecksById"},"delete":{"tags":["HealthChecks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete HealthChecks","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete HealthChecks","operationId":"deleteHealthchecksById"}},"/api/v2/ui/logentries":{"get":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogEntryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List LogEntrys","operationId":"getLogentries"},"post":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryCreate"}}}},"parameters":[],"summary":"Create LogEntrys","operationId":"postLogentries"},"patch":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update LogEntrys","operationId":"patchLogentries"},"delete":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete LogEntrys","parameters":[],"summary":"Delete LogEntrys","operationId":"deleteLogentries"}},"/api/v2/ui/logentries/count":{"get":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LogEntryResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count LogEntrys","operationId":"getLogentriesCount"}},"/api/v2/ui/logentries/{id}":{"get":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get LogEntrys","operationId":"getLogentriesById"},"patch":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogEntryPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update LogEntrys","operationId":"patchLogentriesById"},"delete":{"tags":["LogEntrys"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete LogEntrys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete LogEntrys","operationId":"deleteLogentriesById"}},"/api/v2/ui/notifications":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotificationSettingResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user"}],"summary":"List NotificationSettings","operationId":"getNotifications"},"post":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingCreate"}}}},"parameters":[],"summary":"Create NotificationSettings","operationId":"postNotifications"},"patch":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update NotificationSettings","operationId":"patchNotifications"},"delete":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete NotificationSettings","parameters":[],"summary":"Delete NotificationSettings","operationId":"deleteNotifications"}},"/api/v2/ui/notifications/count":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotificationSettingResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: user"}],"summary":"Count NotificationSettings","operationId":"getNotificationsCount"}},"/api/v2/ui/notifications/{id}/{relation}":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingRelationUserGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get NotificationSettings","operationId":"getNotificationsByIdByRelation"}},"/api/v2/ui/notifications/{id}/relationships/{relation}":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get NotificationSettings","operationId":"getNotificationsByIdRelationshipsByRelation"},"patch":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingRelationUser"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update NotificationSettings","operationId":"patchNotificationsByIdRelationshipsByRelation"}},"/api/v2/ui/notifications/{id}":{"get":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get NotificationSettings","operationId":"getNotificationsById"},"patch":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update NotificationSettings","operationId":"patchNotificationsById"},"delete":{"tags":["NotificationSettings"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete NotificationSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete NotificationSettings","operationId":"deleteNotificationsById"}},"/api/v2/ui/preprocessors":{"get":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PreprocessorResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List Preprocessors","operationId":"getPreprocessors"},"post":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorCreate"}}}},"parameters":[],"summary":"Create Preprocessors","operationId":"postPreprocessors"},"patch":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Preprocessors","operationId":"patchPreprocessors"},"delete":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Preprocessors","parameters":[],"summary":"Delete Preprocessors","operationId":"deletePreprocessors"}},"/api/v2/ui/preprocessors/count":{"get":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PreprocessorResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count Preprocessors","operationId":"getPreprocessorsCount"}},"/api/v2/ui/preprocessors/{id}":{"get":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Preprocessors","operationId":"getPreprocessorsById"},"patch":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreprocessorPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Preprocessors","operationId":"patchPreprocessorsById"},"delete":{"tags":["Preprocessors"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Preprocessors","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Preprocessors","operationId":"deletePreprocessorsById"}},"/api/v2/ui/pretasks":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PretaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: pretaskFiles"}],"summary":"List Pretasks","operationId":"getPretasks"},"post":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskCreate"}}}},"parameters":[],"summary":"Create Pretasks","operationId":"postPretasks"},"patch":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Pretasks","operationId":"patchPretasks"},"delete":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Pretasks","parameters":[],"summary":"Delete Pretasks","operationId":"deletePretasks"}},"/api/v2/ui/pretasks/count":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PretaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: pretaskFiles"}],"summary":"Count Pretasks","operationId":"getPretasksCount"}},"/api/v2/ui/pretasks/{id}/{relation}":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskRelationPretaskFilesGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Pretasks","operationId":"getPretasksByIdByRelation"}},"/api/v2/ui/pretasks/{id}/relationships/{relation}":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Pretasks","operationId":"getPretasksByIdRelationshipsByRelation"},"patch":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskRelationPretaskFiles"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Pretasks","operationId":"patchPretasksByIdRelationshipsByRelation"},"post":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Pretasks relationship","operationId":"postPretasksByIdRelationshipsByRelation"},"delete":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Pretasks relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskRelationPretaskFiles"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Pretasks relationship","operationId":"deletePretasksByIdRelationshipsByRelation"}},"/api/v2/ui/pretasks/{id}":{"get":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Pretasks","operationId":"getPretasksById"},"patch":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PretaskPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Pretasks","operationId":"patchPretasksById"},"delete":{"tags":["Pretasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Pretasks","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Pretasks","operationId":"deletePretasksById"}},"/api/v2/ui/speeds":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpeedResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"List Speeds","operationId":"getSpeeds"}},"/api/v2/ui/speeds/count":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpeedResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: agent,task"}],"summary":"Count Speeds","operationId":"getSpeedsCount"}},"/api/v2/ui/speeds/{id}/{relation}":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeedRelationTaskGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Speeds","operationId":"getSpeedsByIdByRelation"}},"/api/v2/ui/speeds/{id}/relationships/{relation}":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeedResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Speeds","operationId":"getSpeedsByIdRelationshipsByRelation"},"patch":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeedRelationTask"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Speeds","operationId":"patchSpeedsByIdRelationshipsByRelation"}},"/api/v2/ui/speeds/{id}":{"get":{"tags":["Speeds"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeedResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Speeds","operationId":"getSpeedsById"}},"/api/v2/ui/supertasks":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupertaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: pretasks"}],"summary":"List Supertasks","operationId":"getSupertasks"},"post":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskCreate"}}}},"parameters":[],"summary":"Create Supertasks","operationId":"postSupertasks"},"patch":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Supertasks","operationId":"patchSupertasks"},"delete":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Supertasks","parameters":[],"summary":"Delete Supertasks","operationId":"deleteSupertasks"}},"/api/v2/ui/supertasks/count":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupertaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: pretasks"}],"summary":"Count Supertasks","operationId":"getSupertasksCount"}},"/api/v2/ui/supertasks/{id}/{relation}":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskRelationPretasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Supertasks","operationId":"getSupertasksByIdByRelation"}},"/api/v2/ui/supertasks/{id}/relationships/{relation}":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Supertasks","operationId":"getSupertasksByIdRelationshipsByRelation"},"patch":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskRelationPretasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Supertasks","operationId":"patchSupertasksByIdRelationshipsByRelation"},"post":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Supertasks relationship","operationId":"postSupertasksByIdRelationshipsByRelation"},"delete":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Supertasks relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskRelationPretasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Supertasks relationship","operationId":"deleteSupertasksByIdRelationshipsByRelation"}},"/api/v2/ui/supertasks/{id}":{"get":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Supertasks","operationId":"getSupertasksById"},"patch":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Supertasks","operationId":"patchSupertasksById"},"delete":{"tags":["Supertasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Supertasks","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Supertasks","operationId":"deleteSupertasksById"}},"/api/v2/ui/tasks":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds"}],"summary":"List Tasks","operationId":"getTasks"},"post":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreate"}}}},"parameters":[],"summary":"Create Tasks","operationId":"postTasks"},"patch":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Tasks","operationId":"patchTasks"},"delete":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Tasks","parameters":[],"summary":"Delete Tasks","operationId":"deleteTasks"}},"/api/v2/ui/tasks/count":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds"}],"summary":"Count Tasks","operationId":"getTasksCount"}},"/api/v2/ui/tasks/{id}/{relation}":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRelationSpeedsGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Tasks","operationId":"getTasksByIdByRelation"}},"/api/v2/ui/tasks/{id}/relationships/{relation}":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Tasks","operationId":"getTasksByIdRelationshipsByRelation"},"patch":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRelationSpeeds"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Tasks","operationId":"patchTasksByIdRelationshipsByRelation"},"post":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Tasks relationship","operationId":"postTasksByIdRelationshipsByRelation"},"delete":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Tasks relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRelationSpeeds"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Tasks relationship","operationId":"deleteTasksByIdRelationshipsByRelation"}},"/api/v2/ui/tasks/{id}":{"get":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Tasks","operationId":"getTasksById"},"patch":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Tasks","operationId":"patchTasksById"},"delete":{"tags":["Tasks"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Tasks","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Tasks","operationId":"deleteTasksById"}},"/api/v2/ui/taskwrappers":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskWrapperResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks"}],"summary":"List TaskWrappers","operationId":"getTaskwrappers"},"patch":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update TaskWrappers","operationId":"patchTaskwrappers"},"delete":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete TaskWrappers","parameters":[],"summary":"Delete TaskWrappers","operationId":"deleteTaskwrappers"}},"/api/v2/ui/taskwrappers/count":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskWrapperResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks"}],"summary":"Count TaskWrappers","operationId":"getTaskwrappersCount"}},"/api/v2/ui/taskwrappers/{id}/{relation}":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperRelationTasksGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get TaskWrappers","operationId":"getTaskwrappersByIdByRelation"}},"/api/v2/ui/taskwrappers/{id}/relationships/{relation}":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get TaskWrappers","operationId":"getTaskwrappersByIdRelationshipsByRelation"},"patch":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update TaskWrappers","operationId":"patchTaskwrappersByIdRelationshipsByRelation"},"post":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add TaskWrappers relationship","operationId":"postTaskwrappersByIdRelationshipsByRelation"},"delete":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove TaskWrappers relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperRelationTasks"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove TaskWrappers relationship","operationId":"deleteTaskwrappersByIdRelationshipsByRelation"}},"/api/v2/ui/taskwrappers/{id}":{"get":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get TaskWrappers","operationId":"getTaskwrappersById"},"patch":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update TaskWrappers","operationId":"patchTaskwrappersById"},"delete":{"tags":["TaskWrappers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete TaskWrappers","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete TaskWrappers","operationId":"deleteTaskwrappersById"}},"/api/v2/ui/users":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups"}],"summary":"List Users","operationId":"getUsers"},"post":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}}},"parameters":[],"summary":"Create Users","operationId":"postUsers"},"patch":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update Users","operationId":"patchUsers"},"delete":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete Users","parameters":[],"summary":"Delete Users","operationId":"deleteUsers"}},"/api/v2/ui/users/count":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups"}],"summary":"Count Users","operationId":"getUsersCount"}},"/api/v2/ui/users/{id}/{relation}":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRelationAccessGroupsGetResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Users","operationId":"getUsersByIdByRelation"}},"/api/v2/ui/users/{id}/relationships/{relation}":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Get Users","operationId":"getUsersByIdRelationshipsByRelation"},"patch":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Successfull operation"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update a to one relationship.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRelationAccessGroups"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Update Users","operationId":"patchUsersByIdRelationshipsByRelation"},"post":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully created"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a to-one relationship link.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Add Users relationship","operationId":"postUsersByIdRelationshipsByRelation"},"delete":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"successfully deleted"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"Remove Users relationship","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRelationAccessGroups"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"relation","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Remove Users relationship","operationId":"deleteUsersByIdRelationshipsByRelation"}},"/api/v2/ui/users/{id}":{"get":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get Users","operationId":"getUsersById"},"patch":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update Users","operationId":"patchUsersById"},"delete":{"tags":["Users"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete Users","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete Users","operationId":"deleteUsersById"}},"/api/v2/ui/vouchers":{"get":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegVoucherResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"List RegVouchers","operationId":"getVouchers"},"post":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherCreate"}}}},"parameters":[],"summary":"Create RegVouchers","operationId":"postVouchers"},"patch":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","parameters":[],"summary":"Update RegVouchers","operationId":"patchVouchers"},"delete":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation"}},"security":[{"bearerAuth":[]}],"description":"Delete RegVouchers","parameters":[],"summary":"Delete RegVouchers","operationId":"deleteVouchers"}},"/api/v2/ui/vouchers/count":{"get":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegVoucherResponse"}}}}}},"security":[{"bearerAuth":[]}],"description":"GET many request to retrieve multiple objects.","parameters":[{"name":"page[after]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data after the value provided"},{"name":"page[before]","in":"query","schema":{"type":"integer","format":"int32"},"example":0,"description":"Pointer to paginate to retrieve the data before the value provided"},{"name":"page[size]","in":"query","schema":{"type":"integer","format":"int32"},"example":100,"description":"Amout of data to retrieve inside a single page"},{"name":"filter","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filters results using a query","example":"\"filter[hashlistId__gt]\": 200"},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include, comma seperated. Possible options: "}],"summary":"Count RegVouchers","operationId":"getVouchersCount"}},"/api/v2/ui/vouchers/{id}":{"get":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"GET request to retrieve a single object.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32","example":10}},{"name":"include","in":"query","schema":{"type":"string"},"description":"Items to include. Comma seperated"}],"summary":"Get RegVouchers","operationId":"getVouchersById"},"patch":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherPostPatchResponse"}}}}},"security":[{"bearerAuth":[]}],"description":"PATCH request to update attributes of a single object.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegVoucherPatch"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Update RegVouchers","operationId":"patchVouchersById"},"delete":{"tags":["RegVouchers"],"responses":{"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"204":{"description":"successfully deleted"}},"security":[{"bearerAuth":[]}],"description":"Delete RegVouchers","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"summary":"Delete RegVouchers","operationId":"deleteVouchersById"}},"/api/v2/helper/abortChunk":{"post":{"description":"Endpoint to stop a running chunk.
@throws HTException
","requestBody":{"description":"ChunkID is the ID of the chunk that needs to be aborted.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbortChunkHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbortChunkHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postAbortChunk","security":[{"bearerAuth":[]}]}},"/api/v2/helper/assignAgent":{"post":{"description":"This endpoint is responsible for assigning a task to a specific agent.
@throws HTException
@throws HttpError
","requestBody":{"description":"The agentId is the Id of the agent that has to be assigned to the task.
The taskId is the Id of the task that will be assigned to the agent. If this is set to 0,
the agent will be unassigned from its current assigned task.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignAgentHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignAgentHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postAssignAgent","security":[{"bearerAuth":[]}]}},"/api/v2/helper/bulkSupertaskBuilder":{"post":{"description":"Endpoint to import cracked hashes into a hashlist.
@throws HTException
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSupertaskBuilderHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postBulkSupertaskBuilder","security":[{"bearerAuth":[]}]}},"/api/v2/helper/changeOwnPassword":{"post":{"description":"Endpoint to set a password of an user.
@throws HTException
","requestBody":{"description":"oldPassword is the current password of the user.
newPassword is the new password that you want to set.
confirmPassword is the new password again to confirm it.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeOwnPasswordHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeOwnPasswordHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postChangeOwnPassword","security":[{"bearerAuth":[]}]}},"/api/v2/helper/createSuperHashlist":{"post":{"description":"Endpoint to create a super hashlist from multiple hashlists
@throws HTException
","requestBody":{"description":"HashlistIds is an array of hashlist ids of the hashlists that have to be combined into a superHashlist.
Name is the name of the newly created superHashlist.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuperHashlistHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HashlistSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postCreateSuperHashlist","security":[{"bearerAuth":[]}]}},"/api/v2/helper/createSupertask":{"post":{"description":"Endpoint to create a supertask from a supertask template
@throws HTException
","requestBody":{"description":"supertaskTemplateId is the the Id of the supertasktemplate of which you want to create a supertask of.
hashlistId is the Id of the hashlist that has to be used for the supertask.
crackerVersionId is the Id of the crackerversion that is used for the created supertask.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSupertaskHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskWrapperSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postCreateSupertask","security":[{"bearerAuth":[]}]}},"/api/v2/helper/currentUser":{"get":{"description":"@throws NotFoundExceptionInterface
@throws ContainerExceptionInterface
@throws HTException
@throws JsonException
","parameters":[],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getCurrentUser","security":[{"bearerAuth":[]}]},"patch":{"description":"@throws HTException
","responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"Update Helpers","operationId":"patchCurrentUser","security":[{"bearerAuth":[]}]}},"/api/v2/helper/exportCrackedHashes":{"post":{"description":"Endpoint to export cracked hashes.
@throws HTException
","requestBody":{"description":"hashlistId is the Id of the hashlist where you want to export the hashes of.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportCrackedHashesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postExportCrackedHashes","security":[{"bearerAuth":[]}]}},"/api/v2/helper/exportLeftHashes":{"post":{"description":"Endpoint to export uncracked hashes of a hashlist.
@throws HTException
","requestBody":{"description":"hashlistId is the id of the hashlist where you want to export the uncracked hashes of.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportLeftHashesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postExportLeftHashes","security":[{"bearerAuth":[]}]}},"/api/v2/helper/exportWordlist":{"post":{"description":"Endpoint to export a wordlist of the cracked hashes inside a hashlist.
@throws HTException
","requestBody":{"description":"hashlistId is the Id of the hashlist where you want to export the wordlist of.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportWordlistHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postExportWordlist","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getAccessGroups":{"get":{"description":"@throws NotFoundExceptionInterface
@throws ContainerExceptionInterface
@throws HTException
@throws JsonException
","parameters":[],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetAccessGroups","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getAgentBinary":{"get":{"description":"Endpoint to download files
@param Request $request
@param Response $response
@return Response
@throws HTException
@throws HttpErrorException
","parameters":[{"in":"query","name":"agent","schema":{"type":"integer","format":"int32"},"required":true,"example":1,"description":"The ID of the agent zip to download."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetAgentBinary","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getBestTasksAgent":{"get":{"description":"Endpoint to get the tasks a agent can work on
@param Request $request
@param Response $response
@return Response
@throws HttpErrorException
","parameters":[{"in":"query","name":"agent","schema":{"type":"integer","format":"int32"},"required":true,"example":1,"description":"The ID of the agent."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetBestTasksAgent","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getCracksOfTask":{"get":{"description":"Endpoint to get the cracked hashes of a certain task
@param Request $request
@param Response $response
@return Response
@throws HttpError
@throws HTException
@throws JsonException
@throws ContainerExceptionInterface
@throws NotFoundExceptionInterface
","parameters":[{"in":"query","name":"task","schema":{"type":"integer","format":"int32"},"required":true,"example":1,"description":"The ID of the task."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetCracksOfTask","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getFile":{"get":{"description":"Endpoint to download files
@param Request $request
@param Response $response
@return Response
@throws HTException
@throws HttpErrorException
","parameters":[{"in":"query","name":"file","schema":{"type":"integer","format":"int32"},"required":true,"example":1,"description":"The ID of the file to download."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetFile","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getTaskProgressImage":{"get":{"description":"Endpoint to download files
@param Request $request
@param Response $response
@return Response
@throws HTException
@throws HttpError
@throws HttpForbidden
","parameters":[{"in":"query","name":"supertask","schema":{"type":"integer","format":"int32"},"required":false,"example":1,"description":"The ID of the supertask where you want to create the progress image of."},{"in":"query","name":"task","schema":{"type":"integer","format":"int32"},"required":false,"example":1,"description":"The ID of the task where you want to create the progress image of."}],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetTaskProgressImage","security":[{"bearerAuth":[]}]}},"/api/v2/helper/getUserPermission":{"get":{"description":"@throws NotFoundExceptionInterface
@throws ContainerExceptionInterface
@throws HTException
@throws JsonException
","parameters":[],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getGetUserPermission","security":[{"bearerAuth":[]}]}},"/api/v2/helper/importCrackedHashes":{"post":{"description":"Endpoint to import cracked hashes into a hashlist.
@throws HTException
@throws HttpError
","requestBody":{"description":"HashlistId is the Id of the hashlist where you want to import the cracked hashes into.
SourceData is the cracked hashes you want to import.
Seperator is the seperator that has been used for the salt in the hashes.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportCrackedHashesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportCrackedHashesHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postImportCrackedHashes","security":[{"bearerAuth":[]}]}},"/api/v2/helper/importFile":{"post":{"description":"Create Helpers","requestBody":{"description":"Import file has no POST parameters
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportFileHelperAPI"}}}},"responses":{"200":{"description":"successful operation"},"201":{"description":"successful operation","headers":{"Tus-Resumable":{"description":"Indicates the TUS version the server supports.\n Must always be set to `1.0.0` in compliant servers.","schema":{"type":"string","enum":["1.0.0"]}},"Location":{"description":"Location of the file where the user can push to.","schema":{"type":"string"}}},"content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}}},"parameters":[{"name":"Upload-Metadata","in":"header","required":true,"schema":{"type":"string","pattern":"^([a-zA-Z0-9]+ [A-Za-z0-9+/=]+)(,[a-zA-Z0-9]+ [A-Za-z0-9+/=]+)*$"},"example":"filename ZXhhbXBsZS50eHQ=","description":" The Upload-Metadata header contains one or more comma-separated key-value pairs.\n Each pair is formatted as ` `, where:\n - `key` is a string without spaces.\n - `value` is base64-encoded"},{"name":"Upload-Length","in":"header","schema":{"type":"integer","minimum":1},"example":10000,"description":"The total size of the upload in bytes. Must be a positive integer.\n Required if `Upload-Defer-Length` is not set."},{"name":"Upload-Defer-Length","in":"header","schema":{"type":"integer"},"example":1,"description":"Indicates that the upload length is not known at creation time.\n Value must be `1`. If present, `Upload-Length` must be omitted."}],"tags":["Helpers"],"summary":"Create Helpers","operationId":"postImportFile","security":[{"bearerAuth":[]}]},"get":{"description":"List Helpers","parameters":[],"responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"summary":"List Helpers","operationId":"getImportFile","security":[{"bearerAuth":[]}]}},"/api/v2/helper/importFile/{id}-[0-9a-f]{32}}":{"head":{"description":"A HEAD request is used in the TUS protocol to determine the offset at which the upload should be continued.
And to retrieve the upload status.
","responses":{"200":{"description":"successful request","headers":{"Tus-Resumable":{"description":"Indicates the TUS version the server supports.\n Must always be set to `1.0.0` in compliant servers.","schema":{"type":"string","enum":["1.0.0"]}},"Upload-Offset":{"description":"Number of bytes already received","schema":{"type":"integer"}},"Upload-Length":{"description":"Total upload length (if known)","schema":{"type":"integer"}},"Upload-Defer-Length":{"description":"Indicates deferred upload length (if applicable)","schema":{"type":"string"}},"Upload-Metadata":{"description":"Original metadata sent during creation","schema":{"type":"string"}}}}},"tags":["Helpers"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"32","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Head Helpers","operationId":"headImportFileById}-[0-9a-f]{32","security":[{"bearerAuth":[]}]},"patch":{"description":"Given the offset in the 'Upload Offset' header, the user can use this PATCH endpoint in order to resume the upload.
@throws HttpError
","responses":{"200":{"description":"successful operation"},"204":{"description":"Chunk accepted","headers":{"Tus-Resumable":{"description":"Indicates the TUS version the server supports.\n Must always be set to `1.0.0` in compliant servers.","schema":{"type":"string","enum":["1.0.0"]}},"Upload-Offset":{"description":"The new offset after the chunk is accepted. Indicates how many bytes were received so far.","schema":{"type":"integer"}}}}},"parameters":[{"name":"Upload-Offset","in":"header","required":true,"schema":{"type":"integer"},"example":"512","description":" The Upload-Offset header's value MUST be equal to the current offset of the resource"},{"name":"Content-Type","in":"header","required":true,"schema":{"type":"string","enum":["application/offset+octet-stream"]}},{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"32","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The binary data to push to the file","content":{"application/offset+octet-stream":{"schema":{"type":"string","format":"binary"}}}},"tags":["Helpers"],"summary":"Update Helpers","operationId":"patchImportFileById}-[0-9a-f]{32","security":[{"bearerAuth":[]}]},"delete":{"description":"Delete Helpers","responses":{"200":{"description":"successful operation"}},"tags":["Helpers"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"32","in":"path","required":true,"schema":{"type":"string"}}],"summary":"Delete Helpers","operationId":"deleteImportFileById}-[0-9a-f]{32","security":[{"bearerAuth":[]}]}},"/api/v2/helper/maskSupertaskBuilder":{"post":{"description":"Endpoint to import cracked hashes into a hashlist.
@throws HTException
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaskSupertaskBuilderHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupertaskSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postMaskSupertaskBuilder","security":[{"bearerAuth":[]}]}},"/api/v2/helper/purgeTask":{"post":{"description":"Endpoint to purge a task. Meaning all chunks of a task will be deleted and keyspace and progress will be set to 0.
@throws HTException
","requestBody":{"description":"taskId is the id of the task that should be purged.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurgeTaskHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurgeTaskHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postPurgeTask","security":[{"bearerAuth":[]}]}},"/api/v2/helper/rebuildChunkCache":{"post":{"description":"Endpoint to recount files for when there is size mismatch
@param $data
@return object|array|null
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RebuildChunkCacheHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RebuildChunkCacheHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postRebuildChunkCache","security":[{"bearerAuth":[]}]}},"/api/v2/helper/recountFileLines":{"post":{"description":"Endpoint to recount files for when there is size mismatch
@param $data
@return object|array|null
@throws HTException
@throws ContainerExceptionInterface
@throws NotFoundExceptionInterface
","requestBody":{"description":"FileId is the id of the file that needs to be recounted.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecountFileLinesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSingleResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postRecountFileLines","security":[{"bearerAuth":[]}]}},"/api/v2/helper/rescanGlobalFiles":{"post":{"description":"Endpoint to recount files for when there is size mismatch
@param $data
@return object|array|null
@throws HTMessages
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RescanGlobalFilesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RescanGlobalFilesHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postRescanGlobalFiles","security":[{"bearerAuth":[]}]}},"/api/v2/helper/resetChunk":{"post":{"description":"Endpoint to reset a chunk.
@throws HTException
","requestBody":{"description":"chunkId is the id of the chunk which you want to reset.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetChunkHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetChunkHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postResetChunk","security":[{"bearerAuth":[]}]}},"/api/v2/helper/resetUserPassword":{"post":{"description":"@throws HTException
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetUserPasswordHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetUserPasswordHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postResetUserPassword","security":[{"bearerAuth":[]}]}},"/api/v2/helper/searchHashes":{"post":{"description":"Endpoint to search for hashes in accessible hashlists.
@param $data
@return object|array|null
@throws ContainerExceptionInterface
@throws NotFoundExceptionInterface
@throws HttpError
","requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchHashesHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchHashesHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postSearchHashes","security":[{"bearerAuth":[]}]}},"/api/v2/helper/setUserPassword":{"post":{"description":"Endpoint to set a password of an user.
@throws HTException
","requestBody":{"description":"userId is the id of the user of which you want to change the password.
password is the new password that you want to set.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetUserPasswordHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetUserPasswordHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postSetUserPassword","security":[{"bearerAuth":[]}]}},"/api/v2/helper/unassignAgent":{"post":{"description":"Endpoint to unassign an agent.
@throws HTException
@throws HttpError
","requestBody":{"description":"agentId is the id of the agent which you want to unassign.
","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnassignAgentHelperAPI"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnassignAgentHelperAPIResponse"}}}}},"tags":["Helpers"],"summary":"Create Helpers","operationId":"postUnassignAgent","security":[{"bearerAuth":[]}]}},"/api/v2/auth/token":{"post":{"tags":["Login"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"basicAuth":[]}],"summary":"Create Login","operationId":"postToken","description":"Create Login"}}},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"title":{"type":"string","example":"about=>blank"},"type":{"type":"string","example":"Error details here"},"status":{"type":"integer","example":400}}},"NotFoundResponse":{"type":"object","properties":{"message":{"type":"string","example":"404 Not Found"},"exception":{"type":"object","properties":{"type":{"type":"string","example":"Slim\\Exception\\HttpNotFoundException"},"code":{"type":"integer","example":404},"message":{"type":"string","example":"Not Found"},"file":{"type":"string","example":"../hashtopolis/server/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php"},"line":{"type":"integer","example":91}}}}},"AccessGroupCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\AccessGroup"},"attributes":{"type":"object","properties":{"groupName":{"type":"string"}}}}}}},"AccessGroupPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\AccessGroup"},"attributes":{"type":"object","properties":{"groupName":{"type":"string"}}}}}}},"AccessGroupResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/accessgroups?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AccessGroup"},"attributes":{"type":"object","properties":{"groupName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"agentMembers":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/accessgroups/relationships/agentMembers"},"related":{"type":"string","default":"/api/v2/ui/accessgroups/agentMembers"}}}}},"userMembers":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/accessgroups/relationships/userMembers"},"related":{"type":"string","default":"/api/v2/ui/accessgroups/userMembers"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"agentMembers"},"attributes":{"type":"object","properties":{"agentId":{"type":"integer"},"agentName":{"type":"string"},"uid":{"type":"string"},"os":{"type":"integer"},"devices":{"type":"string"},"cmdPars":{"type":"string"},"ignoreErrors":{"type":"integer","enum":[0,1,2]},"isActive":{"type":"boolean"},"isTrusted":{"type":"boolean"},"token":{"type":"string"},"lastAct":{"type":"string"},"lastTime":{"type":"integer","format":"int64"},"lastIp":{"type":"string"},"userId":{"type":"integer"},"cpuOnly":{"type":"boolean"},"clientSignature":{"type":"string"}}}}}}}},"AccessGroupPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AccessGroup"},"attributes":{"type":"object","properties":{"groupName":{"type":"string"}}}}}}}},"AccessGroupRelationAgentMembers":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"agentMembers"},"id":{"type":"integer","default":1}}}}}},"AccessGroupRelationAgentMembersGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"agentMembers"},"id":{"type":"integer","default":1}}}}}},"AgentPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Agent"},"attributes":{"type":"object","properties":{"agentName":{"type":"string"},"cmdPars":{"type":"string"},"cpuOnly":{"type":"boolean"},"ignoreErrors":{"type":"integer","enum":[0,1,2]},"isActive":{"type":"boolean"},"isTrusted":{"type":"boolean"},"os":{"type":"integer"},"uid":{"type":"string"},"userId":{"type":"integer"}}}}}}},"AgentResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agents?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agents?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agents?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agents?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Agent"},"attributes":{"type":"object","properties":{"agentName":{"type":"string"},"uid":{"type":"string"},"os":{"type":"integer"},"devices":{"type":"string"},"cmdPars":{"type":"string"},"ignoreErrors":{"type":"integer","enum":[0,1,2]},"isActive":{"type":"boolean"},"isTrusted":{"type":"boolean"},"token":{"type":"string"},"lastAct":{"type":"string"},"lastTime":{"type":"integer","format":"int64"},"lastIp":{"type":"string"},"userId":{"type":"integer"},"cpuOnly":{"type":"boolean"},"clientSignature":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"accessGroups":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/accessGroups"},"related":{"type":"string","default":"/api/v2/ui/agents/accessGroups"}}}}},"agentErrors":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/agentErrors"},"related":{"type":"string","default":"/api/v2/ui/agents/agentErrors"}}}}},"agentStats":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/agentStats"},"related":{"type":"string","default":"/api/v2/ui/agents/agentStats"}}}}},"assignments":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/assignments"},"related":{"type":"string","default":"/api/v2/ui/agents/assignments"}}}}},"chunks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/chunks"},"related":{"type":"string","default":"/api/v2/ui/agents/chunks"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/agents/tasks"}}}}},"user":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agents/relationships/user"},"related":{"type":"string","default":"/api/v2/ui/agents/user"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"assignments"},"attributes":{"type":"object","properties":{"assignmentId":{"type":"integer"},"taskId":{"type":"integer"},"agentId":{"type":"integer"},"benchmark":{"type":"string"}}}}}}}},"AgentPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Agent"},"attributes":{"type":"object","properties":{"agentName":{"type":"string"},"uid":{"type":"string"},"os":{"type":"integer"},"devices":{"type":"string"},"cmdPars":{"type":"string"},"ignoreErrors":{"type":"integer","enum":[0,1,2]},"isActive":{"type":"boolean"},"isTrusted":{"type":"boolean"},"token":{"type":"string"},"lastAct":{"type":"string"},"lastTime":{"type":"integer","format":"int64"},"lastIp":{"type":"string"},"userId":{"type":"integer"},"cpuOnly":{"type":"boolean"},"clientSignature":{"type":"string"}}}}}}}},"AgentRelationAssignments":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"assignments"},"id":{"type":"integer","default":1}}}}}},"AgentRelationAssignmentsGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"assignments"},"id":{"type":"integer","default":1}}}}}},"AssignmentCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Assignment"},"attributes":{"type":"object","properties":{"taskId":{"type":"integer"},"agentId":{"type":"integer"},"benchmark":{"type":"string"}}}}}}},"AssignmentPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Assignment"},"attributes":{"type":"object","properties":{"benchmark":{"type":"string"}}}}}}},"AssignmentResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agentassignments?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Assignment"},"attributes":{"type":"object","properties":{"taskId":{"type":"integer"},"agentId":{"type":"integer"},"benchmark":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"agent":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentassignments/relationships/agent"},"related":{"type":"string","default":"/api/v2/ui/agentassignments/agent"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentassignments/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/agentassignments/task"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"AssignmentPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Assignment"},"attributes":{"type":"object","properties":{"taskId":{"type":"integer"},"agentId":{"type":"integer"},"benchmark":{"type":"string"}}}}}}}},"AssignmentRelationTask":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"AssignmentRelationTaskGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"AgentBinaryCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\AgentBinary"},"attributes":{"type":"object","properties":{"binaryType":{"type":"string"},"version":{"type":"string"},"operatingSystems":{"type":"string"},"filename":{"type":"string"},"updateTrack":{"type":"string"}}}}}}},"AgentBinaryPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\AgentBinary"},"attributes":{"type":"object","properties":{"binaryType":{"type":"string"},"filename":{"type":"string"},"operatingSystems":{"type":"string"},"updateTrack":{"type":"string"},"version":{"type":"string"}}}}}}},"AgentBinaryResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agentbinaries?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AgentBinary"},"attributes":{"type":"object","properties":{"binaryType":{"type":"string"},"version":{"type":"string"},"operatingSystems":{"type":"string"},"filename":{"type":"string"},"updateTrack":{"type":"string"},"updateAvailable":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"AgentBinaryPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AgentBinary"},"attributes":{"type":"object","properties":{"binaryType":{"type":"string"},"version":{"type":"string"},"operatingSystems":{"type":"string"},"filename":{"type":"string"},"updateTrack":{"type":"string"},"updateAvailable":{"type":"string"}}}}}}}},"AgentErrorResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agenterrors?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AgentError"},"attributes":{"type":"object","properties":{"agentId":{"type":"integer"},"taskId":{"type":"integer"},"chunkId":{"type":"integer"},"time":{"type":"integer","format":"int64"},"error":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agenterrors/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/agenterrors/task"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"AgentErrorRelationTask":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"AgentErrorRelationTaskGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"AgentStatResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/agentstats?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\AgentStat"},"attributes":{"type":"object","properties":{"agentId":{"type":"integer"},"statType":{"type":"integer"},"time":{"type":"integer","format":"int64"},"value":{"type":"array","items":{"type":"integer"}}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"JwtApiKeyCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\JwtApiKey"},"attributes":{"type":"object","properties":{"scopes":{"type":"array","items":{"type":"integer"}},"startValid":{"type":"integer","format":"int64"},"endValid":{"type":"integer","format":"int64"},"userId":{"type":"integer"},"isRevoked":{"type":"boolean"}}}}}}},"JwtApiKeyPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\JwtApiKey"},"attributes":{"type":"object","properties":{"isRevoked":{"type":"boolean"}}}}}}},"JwtApiKeyResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/apiTokens?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\JwtApiKey"},"attributes":{"type":"object","properties":{"startValid":{"type":"integer","format":"int64"},"endValid":{"type":"integer","format":"int64"},"userId":{"type":"integer"},"isRevoked":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"user":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/apiTokens/relationships/user"},"related":{"type":"string","default":"/api/v2/ui/apiTokens/user"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"user"},"attributes":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}}}},"JwtApiKeyPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\JwtApiKey"},"attributes":{"type":"object","properties":{"startValid":{"type":"integer","format":"int64"},"endValid":{"type":"integer","format":"int64"},"userId":{"type":"integer"},"isRevoked":{"type":"boolean"}}}}}}}},"JwtApiKeyRelationUser":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"user"},"id":{"type":"integer","default":1}}}}},"JwtApiKeyRelationUserGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"user"},"id":{"type":"integer","default":1}}}}},"ChunkResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/chunks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Chunk"},"attributes":{"type":"object","properties":{"taskId":{"type":"integer"},"skip":{"type":"integer"},"length":{"type":"integer"},"agentId":{"type":"integer"},"dispatchTime":{"type":"integer","format":"int64"},"solveTime":{"type":"integer","format":"int64"},"checkpoint":{"type":"integer","format":"int64"},"progress":{"type":"integer"},"state":{"type":"integer"},"cracked":{"type":"integer"},"speed":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"agent":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/chunks/relationships/agent"},"related":{"type":"string","default":"/api/v2/ui/chunks/agent"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/chunks/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/chunks/task"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"ChunkRelationTask":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"ChunkRelationTaskGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"ConfigPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Config"},"attributes":{"type":"object","properties":{"item":{"type":"string"},"value":{"type":"string"}}}}}}},"ConfigResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/configs?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/configs?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/configs?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/configs?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/configs?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Config"},"attributes":{"type":"object","properties":{"configSectionId":{"type":"integer"},"item":{"type":"string"},"value":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"configSection":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/configs/relationships/configSection"},"related":{"type":"string","default":"/api/v2/ui/configs/configSection"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"configSection"},"attributes":{"type":"object","properties":{"configSectionId":{"type":"integer"},"sectionName":{"type":"string"}}}}}}}},"ConfigPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Config"},"attributes":{"type":"object","properties":{"configSectionId":{"type":"integer"},"item":{"type":"string"},"value":{"type":"string"}}}}}}}},"ConfigRelationConfigSection":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"configSection"},"id":{"type":"integer","default":1}}}}},"ConfigRelationConfigSectionGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"configSection"},"id":{"type":"integer","default":1}}}}},"ConfigSectionResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/configsections?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\ConfigSection"},"attributes":{"type":"object","properties":{"sectionName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"CrackerBinaryCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinary"},"attributes":{"type":"object","properties":{"crackerBinaryTypeId":{"type":"integer"},"version":{"type":"string"},"downloadUrl":{"type":"string"},"binaryName":{"type":"string"}}}}}}},"CrackerBinaryPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinary"},"attributes":{"type":"object","properties":{"binaryName":{"type":"string"},"downloadUrl":{"type":"string"},"version":{"type":"string"}}}}}}},"CrackerBinaryResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/crackers?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinary"},"attributes":{"type":"object","properties":{"crackerBinaryTypeId":{"type":"integer"},"version":{"type":"string"},"downloadUrl":{"type":"string"},"binaryName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"crackerBinaryType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackers/relationships/crackerBinaryType"},"related":{"type":"string","default":"/api/v2/ui/crackers/crackerBinaryType"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackers/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/crackers/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"CrackerBinaryPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinary"},"attributes":{"type":"object","properties":{"crackerBinaryTypeId":{"type":"integer"},"version":{"type":"string"},"downloadUrl":{"type":"string"},"binaryName":{"type":"string"}}}}}}}},"CrackerBinaryRelationTasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"CrackerBinaryRelationTasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"CrackerBinaryTypeCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinaryType"},"attributes":{"type":"object","properties":{"typeName":{"type":"string"}}}}}}},"CrackerBinaryTypePatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinaryType"},"attributes":{"type":"object","properties":{"isChunkingAvailable":{"type":"boolean"},"typeName":{"type":"string"}}}}}}},"CrackerBinaryTypeResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/crackertypes?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinaryType"},"attributes":{"type":"object","properties":{"typeName":{"type":"string"},"isChunkingAvailable":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"crackerVersions":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackertypes/relationships/crackerVersions"},"related":{"type":"string","default":"/api/v2/ui/crackertypes/crackerVersions"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/crackertypes/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/crackertypes/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"CrackerBinaryTypePostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\CrackerBinaryType"},"attributes":{"type":"object","properties":{"typeName":{"type":"string"},"isChunkingAvailable":{"type":"boolean"}}}}}}}},"CrackerBinaryTypeRelationTasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"CrackerBinaryTypeRelationTasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"FileCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"sourceType":{"type":"string"},"sourceData":{"type":"string"},"filename":{"type":"string"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"}}}}}}},"FilePatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"fileType":{"type":"integer"},"filename":{"type":"string"},"isSecret":{"type":"boolean"}}}}}}},"FileResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/files?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/files?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/files?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/files?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/files?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"filename":{"type":"string"},"size":{"type":"integer","format":"int64"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"},"lineCount":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/files/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/files/accessGroup"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"accessGroup"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"groupName":{"type":"string"}}}}}}}},"FileSingleResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"filename":{"type":"string"},"size":{"type":"integer","format":"int64"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"},"lineCount":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/files/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/files/accessGroup"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"accessGroup"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"groupName":{"type":"string"}}}}}}}},"FilePostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\File"},"attributes":{"type":"object","properties":{"filename":{"type":"string"},"size":{"type":"integer","format":"int64"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"},"lineCount":{"type":"integer","format":"int64"}}}}}}}},"FileRelationAccessGroup":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"accessGroup"},"id":{"type":"integer","default":1}}}}},"FileRelationAccessGroupGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"accessGroup"},"id":{"type":"integer","default":1}}}}},"RightGroupCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\RightGroup"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"permissions":{"type":"object"}}}}}}},"RightGroupPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\RightGroup"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"permissions":{"type":"object"}}}}}}},"RightGroupResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\RightGroup"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"permissions":{"type":"object"}}}}}},"relationships":{"type":"object","properties":{"userMembers":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/globalpermissiongroups/relationships/userMembers"},"related":{"type":"string","default":"/api/v2/ui/globalpermissiongroups/userMembers"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"userMembers"},"attributes":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}}}},"RightGroupPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\RightGroup"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"permissions":{"type":"object"}}}}}}}},"RightGroupRelationUserMembers":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"userMembers"},"id":{"type":"integer","default":1}}}}}},"RightGroupRelationUserMembersGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"userMembers"},"id":{"type":"integer","default":1}}}}}},"HashResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/hashes?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Hash"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"hash":{"type":"string"},"salt":{"type":"string"},"plaintext":{"type":"string"},"timeCracked":{"type":"integer","format":"int64"},"chunkId":{"type":"integer"},"isCracked":{"type":"boolean"},"crackPos":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"chunk":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashes/relationships/chunk"},"related":{"type":"string","default":"/api/v2/ui/hashes/chunk"}}}}},"hashlist":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashes/relationships/hashlist"},"related":{"type":"string","default":"/api/v2/ui/hashes/hashlist"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"hashlist"},"attributes":{"type":"object","properties":{"hashlistSeperator":{"type":"string"},"sourceType":{"type":"string"},"sourceData":{"type":"string"},"hashlistId":{"type":"integer"},"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"cracked":{"type":"integer"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}}}},"HashRelationHashlist":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"hashlist"},"id":{"type":"integer","default":1}}}}},"HashRelationHashlistGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"hashlist"},"id":{"type":"integer","default":1}}}}},"HashlistCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"hashlistSeperator":{"type":"string"},"sourceType":{"type":"string"},"sourceData":{"type":"string"},"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}}},"HashlistPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"isArchived":{"type":"boolean"},"isSecret":{"type":"boolean"},"name":{"type":"string"},"notes":{"type":"string"}}}}}}},"HashlistResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/hashlists?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"cracked":{"type":"integer"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/hashlists/accessGroup"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashType"}}}}},"hashes":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashes"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashes"}}}}},"hashlists":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashlists"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashlists"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/hashlists/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"HashlistSingleResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"cracked":{"type":"integer"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/hashlists/accessGroup"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashType"}}}}},"hashes":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashes"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashes"}}}}},"hashlists":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/hashlists"},"related":{"type":"string","default":"/api/v2/ui/hashlists/hashlists"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashlists/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/hashlists/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"HashlistPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Hashlist"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"format":{"type":"integer","enum":[0,1,2,3]},"hashTypeId":{"type":"integer"},"hashCount":{"type":"integer"},"separator":{"type":"string"},"cracked":{"type":"integer"},"isSecret":{"type":"boolean"},"isHexSalt":{"type":"boolean"},"isSalted":{"type":"boolean"},"accessGroupId":{"type":"integer"},"notes":{"type":"string"},"useBrain":{"type":"boolean"},"brainFeatures":{"type":"integer"},"isArchived":{"type":"boolean"}}}}}}}},"HashlistRelationTasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"HashlistRelationTasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"HashTypeCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\HashType"},"attributes":{"type":"object","properties":{"hashTypeId":{"type":"integer"},"description":{"type":"string"},"isSalted":{"type":"boolean"},"isSlowHash":{"type":"boolean"}}}}}}},"HashTypePatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\HashType"},"attributes":{"type":"object","properties":{"description":{"type":"string"},"isSalted":{"type":"boolean"},"isSlowHash":{"type":"boolean"}}}}}}},"HashTypeResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/hashtypes?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HashType"},"attributes":{"type":"object","properties":{"description":{"type":"string"},"isSalted":{"type":"boolean"},"isSlowHash":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"HashTypePostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HashType"},"attributes":{"type":"object","properties":{"description":{"type":"string"},"isSalted":{"type":"boolean"},"isSlowHash":{"type":"boolean"}}}}}}}},"HealthCheckAgentResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheckAgent"},"attributes":{"type":"object","properties":{"healthCheckId":{"type":"integer"},"agentId":{"type":"integer"},"status":{"type":"integer"},"cracked":{"type":"integer"},"numGpus":{"type":"integer"},"start":{"type":"integer","format":"int64"},"end":{"type":"integer","format":"int64"},"errors":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"agent":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthcheckagents/relationships/agent"},"related":{"type":"string","default":"/api/v2/ui/healthcheckagents/agent"}}}}},"healthCheck":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthcheckagents/relationships/healthCheck"},"related":{"type":"string","default":"/api/v2/ui/healthcheckagents/healthCheck"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"healthCheck"},"attributes":{"type":"object","properties":{"healthCheckId":{"type":"integer"},"time":{"type":"integer","format":"int64"},"status":{"type":"integer"},"checkType":{"type":"integer"},"hashtypeId":{"type":"integer"},"crackerBinaryId":{"type":"integer"},"expectedCracks":{"type":"integer"},"attackCmd":{"type":"string"}}}}}}}},"HealthCheckAgentRelationHealthCheck":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"healthCheck"},"id":{"type":"integer","default":1}}}}},"HealthCheckAgentRelationHealthCheckGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"healthCheck"},"id":{"type":"integer","default":1}}}}},"HealthCheckCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheck"},"attributes":{"type":"object","properties":{"checkType":{"type":"integer"},"hashtypeId":{"type":"integer"},"crackerBinaryId":{"type":"integer"}}}}}}},"HealthCheckPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheck"},"attributes":{"type":"object","properties":{"checkType":{"type":"integer"}}}}}}},"HealthCheckResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/healthchecks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheck"},"attributes":{"type":"object","properties":{"time":{"type":"integer","format":"int64"},"status":{"type":"integer"},"checkType":{"type":"integer"},"hashtypeId":{"type":"integer"},"crackerBinaryId":{"type":"integer"},"expectedCracks":{"type":"integer"},"attackCmd":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"crackerBinary":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthchecks/relationships/crackerBinary"},"related":{"type":"string","default":"/api/v2/ui/healthchecks/crackerBinary"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthchecks/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/healthchecks/hashType"}}}}},"healthCheckAgents":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/healthchecks/relationships/healthCheckAgents"},"related":{"type":"string","default":"/api/v2/ui/healthchecks/healthCheckAgents"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"healthCheckAgents"},"attributes":{"type":"object","properties":{"healthCheckAgentId":{"type":"integer"},"healthCheckId":{"type":"integer"},"agentId":{"type":"integer"},"status":{"type":"integer"},"cracked":{"type":"integer"},"numGpus":{"type":"integer"},"start":{"type":"integer","format":"int64"},"end":{"type":"integer","format":"int64"},"errors":{"type":"string"}}}}}}}},"HealthCheckPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\HealthCheck"},"attributes":{"type":"object","properties":{"time":{"type":"integer","format":"int64"},"status":{"type":"integer"},"checkType":{"type":"integer"},"hashtypeId":{"type":"integer"},"crackerBinaryId":{"type":"integer"},"expectedCracks":{"type":"integer"},"attackCmd":{"type":"string"}}}}}}}},"HealthCheckRelationHealthCheckAgents":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"healthCheckAgents"},"id":{"type":"integer","default":1}}}}}},"HealthCheckRelationHealthCheckAgentsGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"healthCheckAgents"},"id":{"type":"integer","default":1}}}}}},"LogEntryCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\LogEntry"},"attributes":{"type":"object","properties":{}}}}}},"LogEntryPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\LogEntry"},"attributes":{"type":"object","properties":{}}}}}},"LogEntryResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/logentries?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\LogEntry"},"attributes":{"type":"object","properties":{"issuer":{"type":"string"},"issuerId":{"type":"string"},"level":{"type":"string"},"message":{"type":"string"},"time":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"LogEntryPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\LogEntry"},"attributes":{"type":"object","properties":{"issuer":{"type":"string"},"issuerId":{"type":"string"},"level":{"type":"string"},"message":{"type":"string"},"time":{"type":"integer","format":"int64"}}}}}}}},"NotificationSettingCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\NotificationSetting"},"attributes":{"type":"object","properties":{"actionFilter":{"type":"string"},"action":{"type":"string"},"notification":{"type":"string"},"receiver":{"type":"string"}}}}}}},"NotificationSettingPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\NotificationSetting"},"attributes":{"type":"object","properties":{"action":{"type":"string"},"isActive":{"type":"boolean"},"notification":{"type":"string"},"receiver":{"type":"string"}}}}}}},"NotificationSettingResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/notifications?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\NotificationSetting"},"attributes":{"type":"object","properties":{"action":{"type":"string"},"objectId":{"type":"integer"},"notification":{"type":"string"},"userId":{"type":"integer"},"receiver":{"type":"string"},"isActive":{"type":"boolean"}}}}}},"relationships":{"type":"object","properties":{"user":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/notifications/relationships/user"},"related":{"type":"string","default":"/api/v2/ui/notifications/user"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"user"},"attributes":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}}}},"NotificationSettingPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\NotificationSetting"},"attributes":{"type":"object","properties":{"action":{"type":"string"},"objectId":{"type":"integer"},"notification":{"type":"string"},"userId":{"type":"integer"},"receiver":{"type":"string"},"isActive":{"type":"boolean"}}}}}}}},"NotificationSettingRelationUser":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"user"},"id":{"type":"integer","default":1}}}}},"NotificationSettingRelationUserGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"user"},"id":{"type":"integer","default":1}}}}},"PreprocessorCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Preprocessor"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"binaryName":{"type":"string"},"keyspaceCommand":{"type":"string"},"skipCommand":{"type":"string"},"limitCommand":{"type":"string"}}}}}}},"PreprocessorPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Preprocessor"},"attributes":{"type":"object","properties":{"binaryName":{"type":"string"},"keyspaceCommand":{"type":"string"},"limitCommand":{"type":"string"},"name":{"type":"string"},"skipCommand":{"type":"string"},"url":{"type":"string"}}}}}}},"PreprocessorResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/preprocessors?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Preprocessor"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"binaryName":{"type":"string"},"keyspaceCommand":{"type":"string"},"skipCommand":{"type":"string"},"limitCommand":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"PreprocessorPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Preprocessor"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"binaryName":{"type":"string"},"keyspaceCommand":{"type":"string"},"skipCommand":{"type":"string"},"limitCommand":{"type":"string"}}}}}}}},"PretaskCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Pretask"},"attributes":{"type":"object","properties":{"files":{"type":"array","items":{"type":"integer"}},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}}},"PretaskPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Pretask"},"attributes":{"type":"object","properties":{"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"color":{"type":"string"},"crackerBinaryTypeId":{"type":"integer"},"isCpuTask":{"type":"boolean"},"isMaskImport":{"type":"boolean"},"isSmall":{"type":"boolean"},"maxAgents":{"type":"integer"},"priority":{"type":"integer"},"statusTimer":{"type":"integer"},"taskName":{"type":"string"}}}}}}},"PretaskResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/pretasks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Pretask"},"attributes":{"type":"object","properties":{"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}},"relationships":{"type":"object","properties":{"pretaskFiles":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/pretasks/relationships/pretaskFiles"},"related":{"type":"string","default":"/api/v2/ui/pretasks/pretaskFiles"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"pretaskFiles"},"attributes":{"type":"object","properties":{"sourceType":{"type":"string"},"sourceData":{"type":"string"},"fileId":{"type":"integer"},"filename":{"type":"string"},"size":{"type":"integer","format":"int64"},"isSecret":{"type":"boolean"},"fileType":{"type":"integer"},"accessGroupId":{"type":"integer"},"lineCount":{"type":"integer","format":"int64"}}}}}}}},"PretaskPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Pretask"},"attributes":{"type":"object","properties":{"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}}}},"PretaskRelationPretaskFiles":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"pretaskFiles"},"id":{"type":"integer","default":1}}}}}},"PretaskRelationPretaskFilesGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"pretaskFiles"},"id":{"type":"integer","default":1}}}}}},"SpeedResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/speeds?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Speed"},"attributes":{"type":"object","properties":{"agentId":{"type":"integer"},"taskId":{"type":"integer"},"speed":{"type":"integer","format":"int64"},"time":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{"agent":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/speeds/relationships/agent"},"related":{"type":"string","default":"/api/v2/ui/speeds/agent"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/speeds/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/speeds/task"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"SpeedRelationTask":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"SpeedRelationTaskGetResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"task"},"id":{"type":"integer","default":1}}}}},"SupertaskCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"pretasks":{"type":"array","items":{"type":"integer"}},"supertaskName":{"type":"string"}}}}}}},"SupertaskPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"supertaskName":{"type":"string"}}}}}}},"SupertaskResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/supertasks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"supertaskName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"pretasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/supertasks/relationships/pretasks"},"related":{"type":"string","default":"/api/v2/ui/supertasks/pretasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"pretasks"},"attributes":{"type":"object","properties":{"files":{"type":"array","items":{"type":"integer"}},"pretaskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}}}},"SupertaskSingleResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"supertaskName":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"pretasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/supertasks/relationships/pretasks"},"related":{"type":"string","default":"/api/v2/ui/supertasks/pretasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"pretasks"},"attributes":{"type":"object","properties":{"files":{"type":"array","items":{"type":"integer"}},"pretaskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"isMaskImport":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"}}}}}}}},"SupertaskPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Supertask"},"attributes":{"type":"object","properties":{"supertaskName":{"type":"string"}}}}}}}},"SupertaskRelationPretasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"pretasks"},"id":{"type":"integer","default":1}}}}}},"SupertaskRelationPretasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"pretasks"},"id":{"type":"integer","default":1}}}}}},"TaskCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Task"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}},"TaskPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\Task"},"attributes":{"type":"object","properties":{"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"color":{"type":"string"},"isArchived":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"isSmall":{"type":"boolean"},"maxAgents":{"type":"integer"},"notes":{"type":"string"},"priority":{"type":"integer"},"statusTimer":{"type":"integer"},"taskName":{"type":"string"}}}}}}},"TaskResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/tasks?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Task"},"attributes":{"type":"object","properties":{"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"assignedAgents":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/assignedAgents"},"related":{"type":"string","default":"/api/v2/ui/tasks/assignedAgents"}}}}},"crackerBinary":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/crackerBinary"},"related":{"type":"string","default":"/api/v2/ui/tasks/crackerBinary"}}}}},"crackerBinaryType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/crackerBinaryType"},"related":{"type":"string","default":"/api/v2/ui/tasks/crackerBinaryType"}}}}},"files":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/files"},"related":{"type":"string","default":"/api/v2/ui/tasks/files"}}}}},"hashlist":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/hashlist"},"related":{"type":"string","default":"/api/v2/ui/tasks/hashlist"}}}}},"speeds":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/tasks/relationships/speeds"},"related":{"type":"string","default":"/api/v2/ui/tasks/speeds"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"speeds"},"attributes":{"type":"object","properties":{"speedId":{"type":"integer"},"agentId":{"type":"integer"},"taskId":{"type":"integer"},"speed":{"type":"integer","format":"int64"},"time":{"type":"integer","format":"int64"}}}}}}}},"TaskPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\Task"},"attributes":{"type":"object","properties":{"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"TaskRelationSpeeds":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"speeds"},"id":{"type":"integer","default":1}}}}}},"TaskRelationSpeedsGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"speeds"},"id":{"type":"integer","default":1}}}}}},"TaskWrapperPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\TaskWrapper"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"isArchived":{"type":"boolean"},"maxAgents":{"type":"integer"},"priority":{"type":"integer"},"taskWrapperName":{"type":"string"}}}}}}},"TaskWrapperResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/taskwrappers?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\TaskWrapper"},"attributes":{"type":"object","properties":{"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"taskType":{"type":"integer","enum":[0,1]},"hashlistId":{"type":"integer"},"accessGroupId":{"type":"integer"},"taskWrapperName":{"type":"string"},"isArchived":{"type":"boolean"},"cracked":{"type":"integer"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/accessGroup"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/hashType"}}}}},"hashlist":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/hashlist"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/hashlist"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/task"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"TaskWrapperSingleResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\TaskWrapper"},"attributes":{"type":"object","properties":{"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"taskType":{"type":"integer","enum":[0,1]},"hashlistId":{"type":"integer"},"accessGroupId":{"type":"integer"},"taskWrapperName":{"type":"string"},"isArchived":{"type":"boolean"},"cracked":{"type":"integer"}}}}}},"relationships":{"type":"object","properties":{"accessGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/accessGroup"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/accessGroup"}}}}},"hashType":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/hashType"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/hashType"}}}}},"hashlist":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/hashlist"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/hashlist"}}}}},"task":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/task"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/task"}}}}},"tasks":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/taskwrappers/relationships/tasks"},"related":{"type":"string","default":"/api/v2/ui/taskwrappers/tasks"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"tasks"},"attributes":{"type":"object","properties":{"hashlistId":{"type":"integer"},"files":{"type":"array","items":{"type":"integer"}},"taskId":{"type":"integer"},"taskName":{"type":"string"},"attackCmd":{"type":"string"},"chunkTime":{"type":"integer"},"statusTimer":{"type":"integer"},"keyspace":{"type":"integer","format":"int64"},"keyspaceProgress":{"type":"integer","format":"int64"},"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"color":{"type":"string"},"isSmall":{"type":"boolean"},"isCpuTask":{"type":"boolean"},"useNewBench":{"type":"boolean"},"skipKeyspace":{"type":"integer","format":"int64"},"crackerBinaryId":{"type":"integer"},"crackerBinaryTypeId":{"type":"integer"},"taskWrapperId":{"type":"integer"},"isArchived":{"type":"boolean"},"notes":{"type":"string"},"staticChunks":{"type":"integer"},"chunkSize":{"type":"integer","format":"int64"},"forcePipe":{"type":"boolean"},"preprocessorId":{"type":"integer"},"preprocessorCommand":{"type":"string"}}}}}}}},"TaskWrapperPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\TaskWrapper"},"attributes":{"type":"object","properties":{"priority":{"type":"integer"},"maxAgents":{"type":"integer"},"taskType":{"type":"integer","enum":[0,1]},"hashlistId":{"type":"integer"},"accessGroupId":{"type":"integer"},"taskWrapperName":{"type":"string"},"isArchived":{"type":"boolean"},"cracked":{"type":"integer"}}}}}}}},"TaskWrapperRelationTasks":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"TaskWrapperRelationTasksGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"tasks"},"id":{"type":"integer","default":1}}}}}},"UserCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\User"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"globalPermissionGroupId":{"type":"integer"}}}}}}},"UserPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\User"},"attributes":{"type":"object","properties":{"email":{"type":"string"},"globalPermissionGroupId":{"type":"integer"},"isValid":{"type":"boolean"},"sessionLifetime":{"type":"integer"}}}}}}},"UserResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/users?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/users?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/users?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/users?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/users?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\User"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{"accessGroups":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/users/relationships/accessGroups"},"related":{"type":"string","default":"/api/v2/ui/users/accessGroups"}}}}},"globalPermissionGroup":{"type":"object","properties":{"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/users/relationships/globalPermissionGroup"},"related":{"type":"string","default":"/api/v2/ui/users/globalPermissionGroup"}}}}}}},"included":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"accessGroups"},"attributes":{"type":"object","properties":{"accessGroupId":{"type":"integer"},"groupName":{"type":"string"}}}}}}}},"UserPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\User"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"passwordHash":{"type":"string"},"passwordSalt":{"type":"string"},"isValid":{"type":"boolean"},"isComputedPassword":{"type":"boolean"},"lastLoginDate":{"type":"integer","format":"int64"},"registeredSince":{"type":"integer","format":"int64"},"sessionLifetime":{"type":"integer"},"globalPermissionGroupId":{"type":"integer"},"yubikey":{"type":"string"},"otp1":{"type":"string"},"otp2":{"type":"string"},"otp3":{"type":"string"},"otp4":{"type":"string"}}}}}}}},"UserRelationAccessGroups":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"accessGroups"},"id":{"type":"integer","default":1}}}}}},"UserRelationAccessGroupsGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","default":"accessGroups"},"id":{"type":"integer","default":1}}}}}},"RegVoucherCreate":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\RegVoucher"},"attributes":{"type":"object","properties":{"voucher":{"type":"string"}}}}}}},"RegVoucherPatch":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","default":"topolis\\dba\\models\\RegVoucher"},"attributes":{"type":"object","properties":{"voucher":{"type":"string"}}}}}}},"RegVoucherResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"links":{"type":"object","properties":{"self":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25"},"first":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25&page[after]=0"},"last":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25&page[before]=500"},"next":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25&page[after]=25"},"previous":{"type":"string","default":"/api/v2/ui/vouchers?page[size]=25&page[before]=25"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\RegVoucher"},"attributes":{"type":"object","properties":{"voucher":{"type":"string"},"time":{"type":"integer","format":"int64"}}}}}},"relationships":{"type":"object","properties":{}},"included":{"type":"array","items":{"type":"object","properties":{}}}}},"RegVoucherPostPatchResponse":{"type":"object","properties":{"jsonapi":{"type":"object","properties":{"version":{"type":"string","default":"1.1"},"ext":{"type":"string","default":"https://jsonapi.org/profiles/ethanresnick/cursor-pagination"}}},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string","default":"topolis\\dba\\models\\RegVoucher"},"attributes":{"type":"object","properties":{"voucher":{"type":"string"},"time":{"type":"integer","format":"int64"}}}}}}}},"AbortChunkHelperAPI":{"type":"object","properties":{"chunkId":{"type":"integer"}}},"AbortChunkHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Abort":{"type":"string","default":"Success"}}}},"AssignAgentHelperAPI":{"type":"object","properties":{"agentId":{"type":"integer"},"taskId":{"type":"integer"}}},"AssignAgentHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Assign":{"type":"string","default":"Success"}}}},"BulkSupertaskBuilderHelperAPI":{"type":"object","properties":{"name":{"type":"string"},"isCpu":{"type":"boolean"},"isSmall":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"},"benchtype":{"type":"string"},"command":{"type":"string"},"maxAgents":{"type":"integer"},"basefiles":{"type":"array","items":{"type":"integer"}},"iterfiles":{"type":"array","items":{"type":"integer"}}}},"ChangeOwnPasswordHelperAPI":{"type":"object","properties":{"oldPassword":{"type":"string"},"newPassword":{"type":"string"},"confirmPassword":{"type":"string"}}},"ChangeOwnPasswordHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Change password":{"type":"string","default":"Password succesfully updated!"}}}},"CreateSuperHashlistHelperAPI":{"type":"object","properties":{"hashlistIds":{"type":"array","items":{"type":"integer"}},"name":{"type":"string"}}},"CreateSupertaskHelperAPI":{"type":"object","properties":{"supertaskTemplateId":{"type":"integer"},"hashlistId":{"type":"integer"},"crackerVersionId":{"type":"integer"}}},"ExportCrackedHashesHelperAPI":{"type":"object","properties":{"hashlistId":{"type":"integer"}}},"ExportLeftHashesHelperAPI":{"type":"object","properties":{"hashlistId":{"type":"integer"}}},"ExportWordlistHelperAPI":{"type":"object","properties":{"hashlistId":{"type":"integer"}}},"ImportCrackedHashesHelperAPI":{"type":"object","properties":{"hashlistId":{"type":"integer"},"sourceType":{"type":"string"},"sourceData":{"type":"string"},"separator":{"type":"string"},"overwrite":{"type":"integer"}}},"ImportCrackedHashesHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"totalLines":{"type":"integer","default":100},"newCracked":{"type":"integer","default":5},"alreadyCracked":{"type":"integer","default":2},"invalid":{"type":"integer","default":1},"notFound":{"type":"integer","default":1},"processTime":{"type":"integer","default":60},"tooLongPlaintexts":{"type":"integer","default":4}}}},"ImportFileHelperAPI":{"type":"object","properties":{}},"MaskSupertaskBuilderHelperAPI":{"type":"object","properties":{"name":{"type":"string"},"isCpu":{"type":"boolean"},"isSmall":{"type":"boolean"},"optimized":{"type":"boolean"},"crackerBinaryTypeId":{"type":"integer"},"benchtype":{"type":"string"},"masks":{"type":"string"},"maxAgents":{"type":"integer"}}},"PurgeTaskHelperAPI":{"type":"object","properties":{"taskId":{"type":"integer"}}},"PurgeTaskHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Purge":{"type":"string","default":"Success"}}}},"RebuildChunkCacheHelperAPI":{"type":"object","properties":{}},"RebuildChunkCacheHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Rebuild":{"type":"string","default":"Success"}}}},"RecountFileLinesHelperAPI":{"type":"object","properties":{"fileId":{"type":"integer"}}},"RescanGlobalFilesHelperAPI":{"type":"object","properties":{}},"RescanGlobalFilesHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Rescan":{"type":"string","default":"Success"}}}},"ResetChunkHelperAPI":{"type":"object","properties":{"chunkId":{"type":"integer"}}},"ResetChunkHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Reset":{"type":"string","default":"Success"}}}},"ResetUserPasswordHelperAPI":{"type":"object","properties":{"email":{"type":"string"},"username":{"type":"string"}}},"ResetUserPasswordHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Reset":{"type":"string","default":"Success"}}}},"SearchHashesHelperAPI":{"type":"object","properties":{"searchData":{"type":"string"},"separator":{"type":"string"},"isSalted":{"type":"boolean"}}},"SearchHashesHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"0":{"type":"object","default":{"found":false,"query":"12345678"}},"1":{"type":"object","default":{"found":true,"query":"54321","matches":[{"type":"hash","id":552,"attributes":{"hashlistId":5,"hash":"7682543218768","salt":"","plaintext":"","timeCracked":0,"chunkId":null,"isCracked":false,"crackPos":0},"links":{"self":"/api/v2/ui/hashes/552"},"relationships":{"chunk":{"links":{"self":"/api/v2/ui/hashes/552/relationships/chunk","related":"/api/v2/ui/hashes/552/chunk"}},"hashlist":{"links":{"self":"/api/v2/ui/hashes/552/relationships/hashlist","related":"/api/v2/ui/hashes/552/hashlist"}}}},{"type":"hash","id":1,"attributes":{"hashlistId":5,"hash":"54321768671","salt":"","plaintext":"","timeCracked":0,"chunkId":null,"isCracked":false,"crackPos":0},"links":{"self":"/api/v2/ui/hashes/1"},"relationships":{"chunk":{"links":{"self":"/api/v2/ui/hashes/1/relationships/chunk","related":"/api/v2/ui/hashes/1/chunk"}},"hashlist":{"links":{"self":"/api/v2/ui/hashes/1/relationships/hashlist","related":"/api/v2/ui/hashes/1/hashlist"}}}}]}}}}},"SetUserPasswordHelperAPI":{"type":"object","properties":{"userId":{"type":"integer"},"password":{"type":"string"}}},"SetUserPasswordHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Set password":{"type":"string","default":"Success"}}}},"UnassignAgentHelperAPI":{"type":"object","properties":{"agentId":{"type":"integer"}}},"UnassignAgentHelperAPIResponse":{"type":"array","items":{"type":"object","properties":{"Unassign":{"type":"string","default":"Success"}}}},"Token":{"type":"object","properties":{"token":{"type":"string"},"expires":{"type":"integer"}},"additionalProperties":false},"TokenRequest":{"type":"array","items":{"type":"string","example":"role.all"}}},"securitySchemes":{"bearerAuth":{"type":"http","description":"JWT Authorization header using the Bearer scheme.","scheme":"bearer","bearerFormat":"JWT"},"basicAuth":{"type":"http","description":"Basic Authorization header.","scheme":"basic"}}},"tags":[{"name":"AccessGroups"},{"name":"AgentBinarys"},{"name":"AgentErrors"},{"name":"AgentStats"},{"name":"Agents"},{"name":"Assignments"},{"name":"Chunks"},{"name":"ConfigSections"},{"name":"Configs"},{"name":"CrackerBinaryTypes"},{"name":"CrackerBinarys"},{"name":"Files"},{"name":"HashTypes"},{"name":"Hashlists"},{"name":"Hashs"},{"name":"HealthCheckAgents"},{"name":"HealthChecks"},{"name":"Helpers"},{"name":"JwtApiKeys"},{"name":"LogEntrys"},{"name":"Login"},{"name":"NotificationSettings"},{"name":"Preprocessors"},{"name":"Pretasks"},{"name":"RegVouchers"},{"name":"RightGroups"},{"name":"Speeds"},{"name":"Supertasks"},{"name":"TaskWrappers"},{"name":"Tasks"},{"name":"Users"}]} \ No newline at end of file +{ + "openapi": "3.1.0", + "info": { + "title": "Hashtopolis API", + "version": "v2", + "description": "Hashtopolis REST API", + "contact": { "name": "Hashtopolis", "url": "https://github.com/hashtopolis/server" } + }, + "servers": [{ "url": "/" }], + "paths": { + "/api/v2/ui/accessgroups": { + "get": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: userMembers,agentMembers" + } + ], + "summary": "List AccessGroups", + "operationId": "getAccessgroups" + }, + "post": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupCreate" } } } + }, + "parameters": [], + "summary": "Create AccessGroups", + "operationId": "postAccessgroups" + }, + "patch": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update AccessGroups", + "operationId": "patchAccessgroups" + }, + "delete": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete AccessGroups", + "parameters": [], + "summary": "Delete AccessGroups", + "operationId": "deleteAccessgroups" + } + }, + "/api/v2/ui/accessgroups/count": { + "get": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: userMembers,agentMembers" + } + ], + "summary": "Count AccessGroups", + "operationId": "getAccessgroupsCount" + } + }, + "/api/v2/ui/accessgroups/{id}/{relation}": { + "get": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/AccessGroupRelationAgentMembersGetResponse" } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get AccessGroups", + "operationId": "getAccessgroupsByIdByRelation" + } + }, + "/api/v2/ui/accessgroups/{id}/relationships/{relation}": { + "get": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get AccessGroups", + "operationId": "getAccessgroupsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupRelationAgentMembers" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update AccessGroups", + "operationId": "patchAccessgroupsByIdRelationshipsByRelation" + }, + "post": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add AccessGroups relationship", + "operationId": "postAccessgroupsByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove AccessGroups relationship", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupRelationAgentMembers" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove AccessGroups relationship", + "operationId": "deleteAccessgroupsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/accessgroups/{id}": { + "get": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get AccessGroups", + "operationId": "getAccessgroupsById" + }, + "patch": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessGroupPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update AccessGroups", + "operationId": "patchAccessgroupsById" + }, + "delete": { + "tags": ["AccessGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete AccessGroups", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete AccessGroups", + "operationId": "deleteAccessgroupsById" + } + }, + "/api/v2/ui/agents": { + "get": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments" + } + ], + "summary": "List Agents", + "operationId": "getAgents" + }, + "patch": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Agents", + "operationId": "patchAgents" + }, + "delete": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Agents", + "parameters": [], + "summary": "Delete Agents", + "operationId": "deleteAgents" + } + }, + "/api/v2/ui/agents/count": { + "get": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments" + } + ], + "summary": "Count Agents", + "operationId": "getAgentsCount" + } + }, + "/api/v2/ui/agents/{id}/{relation}": { + "get": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AgentRelationAssignmentsGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Agents", + "operationId": "getAgentsByIdByRelation" + } + }, + "/api/v2/ui/agents/{id}/relationships/{relation}": { + "get": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Agents", + "operationId": "getAgentsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentRelationAssignments" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Agents", + "operationId": "patchAgentsByIdRelationshipsByRelation" + }, + "post": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add Agents relationship", + "operationId": "postAgentsByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove Agents relationship", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentRelationAssignments" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove Agents relationship", + "operationId": "deleteAgentsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/agents/{id}": { + "get": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Agents", + "operationId": "getAgentsById" + }, + "patch": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentPostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Agents", + "operationId": "patchAgentsById" + }, + "delete": { + "tags": ["Agents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Agents", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete Agents", + "operationId": "deleteAgentsById" + } + }, + "/api/v2/ui/agentassignments": { + "get": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: agent,task" + } + ], + "summary": "List Assignments", + "operationId": "getAgentassignments" + }, + "post": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentCreate" } } } + }, + "parameters": [], + "summary": "Create Assignments", + "operationId": "postAgentassignments" + }, + "patch": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Assignments", + "operationId": "patchAgentassignments" + }, + "delete": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Assignments", + "parameters": [], + "summary": "Delete Assignments", + "operationId": "deleteAgentassignments" + } + }, + "/api/v2/ui/agentassignments/count": { + "get": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: agent,task" + } + ], + "summary": "Count Assignments", + "operationId": "getAgentassignmentsCount" + } + }, + "/api/v2/ui/agentassignments/{id}/{relation}": { + "get": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentRelationTaskGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Assignments", + "operationId": "getAgentassignmentsByIdByRelation" + } + }, + "/api/v2/ui/agentassignments/{id}/relationships/{relation}": { + "get": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Assignments", + "operationId": "getAgentassignmentsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentRelationTask" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Assignments", + "operationId": "patchAgentassignmentsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/agentassignments/{id}": { + "get": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Assignments", + "operationId": "getAgentassignmentsById" + }, + "patch": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Assignments", + "operationId": "patchAgentassignmentsById" + }, + "delete": { + "tags": ["Assignments"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Assignments", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete Assignments", + "operationId": "deleteAgentassignmentsById" + } + }, + "/api/v2/ui/agentbinaries": { + "get": { + "tags": ["AgentBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentBinaryListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "List AgentBinarys", + "operationId": "getAgentbinaries" + }, + "post": { + "tags": ["AgentBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AgentBinaryPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentBinaryCreate" } } } + }, + "parameters": [], + "summary": "Create AgentBinarys", + "operationId": "postAgentbinaries" + }, + "patch": { + "tags": ["AgentBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update AgentBinarys", + "operationId": "patchAgentbinaries" + }, + "delete": { + "tags": ["AgentBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete AgentBinarys", + "parameters": [], + "summary": "Delete AgentBinarys", + "operationId": "deleteAgentbinaries" + } + }, + "/api/v2/ui/agentbinaries/count": { + "get": { + "tags": ["AgentBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentBinaryListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "Count AgentBinarys", + "operationId": "getAgentbinariesCount" + } + }, + "/api/v2/ui/agentbinaries/{id}": { + "get": { + "tags": ["AgentBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentBinaryResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get AgentBinarys", + "operationId": "getAgentbinariesById" + }, + "patch": { + "tags": ["AgentBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AgentBinaryPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentBinaryPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update AgentBinarys", + "operationId": "patchAgentbinariesById" + }, + "delete": { + "tags": ["AgentBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete AgentBinarys", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete AgentBinarys", + "operationId": "deleteAgentbinariesById" + } + }, + "/api/v2/ui/agenterrors": { + "get": { + "tags": ["AgentErrors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentErrorListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: task" + } + ], + "summary": "List AgentErrors", + "operationId": "getAgenterrors" + }, + "delete": { + "tags": ["AgentErrors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete AgentErrors", + "parameters": [], + "summary": "Delete AgentErrors", + "operationId": "deleteAgenterrors" + } + }, + "/api/v2/ui/agenterrors/count": { + "get": { + "tags": ["AgentErrors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentErrorListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: task" + } + ], + "summary": "Count AgentErrors", + "operationId": "getAgenterrorsCount" + } + }, + "/api/v2/ui/agenterrors/{id}/{relation}": { + "get": { + "tags": ["AgentErrors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AgentErrorRelationTaskGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get AgentErrors", + "operationId": "getAgenterrorsByIdByRelation" + } + }, + "/api/v2/ui/agenterrors/{id}/relationships/{relation}": { + "get": { + "tags": ["AgentErrors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentErrorResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get AgentErrors", + "operationId": "getAgenterrorsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["AgentErrors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentErrorRelationTask" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update AgentErrors", + "operationId": "patchAgenterrorsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/agenterrors/{id}": { + "get": { + "tags": ["AgentErrors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentErrorResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get AgentErrors", + "operationId": "getAgenterrorsById" + }, + "delete": { + "tags": ["AgentErrors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete AgentErrors", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete AgentErrors", + "operationId": "deleteAgenterrorsById" + } + }, + "/api/v2/ui/agentstats": { + "get": { + "tags": ["AgentStats"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentStatListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "List AgentStats", + "operationId": "getAgentstats" + }, + "delete": { + "tags": ["AgentStats"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete AgentStats", + "parameters": [], + "summary": "Delete AgentStats", + "operationId": "deleteAgentstats" + } + }, + "/api/v2/ui/agentstats/count": { + "get": { + "tags": ["AgentStats"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentStatListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "Count AgentStats", + "operationId": "getAgentstatsCount" + } + }, + "/api/v2/ui/agentstats/{id}": { + "get": { + "tags": ["AgentStats"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentStatResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get AgentStats", + "operationId": "getAgentstatsById" + }, + "delete": { + "tags": ["AgentStats"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete AgentStats", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete AgentStats", + "operationId": "deleteAgentstatsById" + } + }, + "/api/v2/ui/apiTokens": { + "get": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: user" + } + ], + "summary": "List JwtApiKeys", + "operationId": "getApiTokens" + }, + "post": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyCreate" } } } + }, + "parameters": [], + "summary": "Create JwtApiKeys", + "operationId": "postApiTokens" + }, + "patch": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update JwtApiKeys", + "operationId": "patchApiTokens" + }, + "delete": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete JwtApiKeys", + "parameters": [], + "summary": "Delete JwtApiKeys", + "operationId": "deleteApiTokens" + } + }, + "/api/v2/ui/apiTokens/count": { + "get": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: user" + } + ], + "summary": "Count JwtApiKeys", + "operationId": "getApiTokensCount" + } + }, + "/api/v2/ui/apiTokens/{id}/{relation}": { + "get": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyRelationUserGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get JwtApiKeys", + "operationId": "getApiTokensByIdByRelation" + } + }, + "/api/v2/ui/apiTokens/{id}/relationships/{relation}": { + "get": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get JwtApiKeys", + "operationId": "getApiTokensByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyRelationUser" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update JwtApiKeys", + "operationId": "patchApiTokensByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/apiTokens/{id}": { + "get": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get JwtApiKeys", + "operationId": "getApiTokensById" + }, + "patch": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update JwtApiKeys", + "operationId": "patchApiTokensById" + }, + "delete": { + "tags": ["JwtApiKeys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete JwtApiKeys", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete JwtApiKeys", + "operationId": "deleteApiTokensById" + } + }, + "/api/v2/ui/chunks": { + "get": { + "tags": ["Chunks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChunkListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: agent,task" + } + ], + "summary": "List Chunks", + "operationId": "getChunks" + } + }, + "/api/v2/ui/chunks/count": { + "get": { + "tags": ["Chunks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChunkListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: agent,task" + } + ], + "summary": "Count Chunks", + "operationId": "getChunksCount" + } + }, + "/api/v2/ui/chunks/{id}/{relation}": { + "get": { + "tags": ["Chunks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ChunkRelationTaskGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Chunks", + "operationId": "getChunksByIdByRelation" + } + }, + "/api/v2/ui/chunks/{id}/relationships/{relation}": { + "get": { + "tags": ["Chunks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChunkResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Chunks", + "operationId": "getChunksByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Chunks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChunkRelationTask" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Chunks", + "operationId": "patchChunksByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/chunks/{id}": { + "get": { + "tags": ["Chunks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChunkResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Chunks", + "operationId": "getChunksById" + } + }, + "/api/v2/ui/configs": { + "get": { + "tags": ["Configs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: configSection" + } + ], + "summary": "List Configs", + "operationId": "getConfigs" + }, + "patch": { + "tags": ["Configs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Configs", + "operationId": "patchConfigs" + } + }, + "/api/v2/ui/configs/count": { + "get": { + "tags": ["Configs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: configSection" + } + ], + "summary": "Count Configs", + "operationId": "getConfigsCount" + } + }, + "/api/v2/ui/configs/{id}/{relation}": { + "get": { + "tags": ["Configs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/ConfigRelationConfigSectionGetResponse" } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Configs", + "operationId": "getConfigsByIdByRelation" + } + }, + "/api/v2/ui/configs/{id}/relationships/{relation}": { + "get": { + "tags": ["Configs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Configs", + "operationId": "getConfigsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Configs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ConfigRelationConfigSection" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Configs", + "operationId": "patchConfigsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/configs/{id}": { + "get": { + "tags": ["Configs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Configs", + "operationId": "getConfigsById" + }, + "patch": { + "tags": ["Configs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigPostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Configs", + "operationId": "patchConfigsById" + } + }, + "/api/v2/ui/configsections": { + "get": { + "tags": ["ConfigSections"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ConfigSectionListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "List ConfigSections", + "operationId": "getConfigsections" + } + }, + "/api/v2/ui/configsections/count": { + "get": { + "tags": ["ConfigSections"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ConfigSectionListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "Count ConfigSections", + "operationId": "getConfigsectionsCount" + } + }, + "/api/v2/ui/configsections/{id}": { + "get": { + "tags": ["ConfigSections"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigSectionResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get ConfigSections", + "operationId": "getConfigsectionsById" + } + }, + "/api/v2/ui/crackers": { + "get": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: crackerBinaryType,tasks" + } + ], + "summary": "List CrackerBinarys", + "operationId": "getCrackers" + }, + "post": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryCreate" } } } + }, + "parameters": [], + "summary": "Create CrackerBinarys", + "operationId": "postCrackers" + }, + "patch": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update CrackerBinarys", + "operationId": "patchCrackers" + }, + "delete": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete CrackerBinarys", + "parameters": [], + "summary": "Delete CrackerBinarys", + "operationId": "deleteCrackers" + } + }, + "/api/v2/ui/crackers/count": { + "get": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: crackerBinaryType,tasks" + } + ], + "summary": "Count CrackerBinarys", + "operationId": "getCrackersCount" + } + }, + "/api/v2/ui/crackers/{id}/{relation}": { + "get": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryRelationTasksGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get CrackerBinarys", + "operationId": "getCrackersByIdByRelation" + } + }, + "/api/v2/ui/crackers/{id}/relationships/{relation}": { + "get": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get CrackerBinarys", + "operationId": "getCrackersByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryRelationTasks" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update CrackerBinarys", + "operationId": "patchCrackersByIdRelationshipsByRelation" + }, + "post": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add CrackerBinarys relationship", + "operationId": "postCrackersByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove CrackerBinarys relationship", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryRelationTasks" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove CrackerBinarys relationship", + "operationId": "deleteCrackersByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/crackers/{id}": { + "get": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get CrackerBinarys", + "operationId": "getCrackersById" + }, + "patch": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update CrackerBinarys", + "operationId": "patchCrackersById" + }, + "delete": { + "tags": ["CrackerBinarys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete CrackerBinarys", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete CrackerBinarys", + "operationId": "deleteCrackersById" + } + }, + "/api/v2/ui/crackertypes": { + "get": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypeListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: crackerVersions,tasks" + } + ], + "summary": "List CrackerBinaryTypes", + "operationId": "getCrackertypes" + }, + "post": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypePostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypeCreate" } } } + }, + "parameters": [], + "summary": "Create CrackerBinaryTypes", + "operationId": "postCrackertypes" + }, + "patch": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update CrackerBinaryTypes", + "operationId": "patchCrackertypes" + }, + "delete": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete CrackerBinaryTypes", + "parameters": [], + "summary": "Delete CrackerBinaryTypes", + "operationId": "deleteCrackertypes" + } + }, + "/api/v2/ui/crackertypes/count": { + "get": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypeListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: crackerVersions,tasks" + } + ], + "summary": "Count CrackerBinaryTypes", + "operationId": "getCrackertypesCount" + } + }, + "/api/v2/ui/crackertypes/{id}/{relation}": { + "get": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/CrackerBinaryTypeRelationTasksGetResponse" } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get CrackerBinaryTypes", + "operationId": "getCrackertypesByIdByRelation" + } + }, + "/api/v2/ui/crackertypes/{id}/relationships/{relation}": { + "get": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypeResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get CrackerBinaryTypes", + "operationId": "getCrackertypesByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypeRelationTasks" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update CrackerBinaryTypes", + "operationId": "patchCrackertypesByIdRelationshipsByRelation" + }, + "post": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add CrackerBinaryTypes relationship", + "operationId": "postCrackertypesByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove CrackerBinaryTypes relationship", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypeRelationTasks" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove CrackerBinaryTypes relationship", + "operationId": "deleteCrackertypesByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/crackertypes/{id}": { + "get": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypeResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get CrackerBinaryTypes", + "operationId": "getCrackertypesById" + }, + "patch": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypePostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CrackerBinaryTypePatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update CrackerBinaryTypes", + "operationId": "patchCrackertypesById" + }, + "delete": { + "tags": ["CrackerBinaryTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete CrackerBinaryTypes", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete CrackerBinaryTypes", + "operationId": "deleteCrackertypesById" + } + }, + "/api/v2/ui/files": { + "get": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: accessGroup" + } + ], + "summary": "List Files", + "operationId": "getFiles" + }, + "post": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilePostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileCreate" } } } + }, + "parameters": [], + "summary": "Create Files", + "operationId": "postFiles" + }, + "patch": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Files", + "operationId": "patchFiles" + }, + "delete": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Files", + "parameters": [], + "summary": "Delete Files", + "operationId": "deleteFiles" + } + }, + "/api/v2/ui/files/count": { + "get": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: accessGroup" + } + ], + "summary": "Count Files", + "operationId": "getFilesCount" + } + }, + "/api/v2/ui/files/{id}/{relation}": { + "get": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/FileRelationAccessGroupGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Files", + "operationId": "getFilesByIdByRelation" + } + }, + "/api/v2/ui/files/{id}/relationships/{relation}": { + "get": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Files", + "operationId": "getFilesByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileRelationAccessGroup" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Files", + "operationId": "patchFilesByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/files/{id}": { + "get": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Files", + "operationId": "getFilesById" + }, + "patch": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilePostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilePatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Files", + "operationId": "patchFilesById" + }, + "delete": { + "tags": ["Files"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Files", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete Files", + "operationId": "deleteFilesById" + } + }, + "/api/v2/ui/globalpermissiongroups": { + "get": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: userMembers" + } + ], + "summary": "List RightGroups", + "operationId": "getGlobalpermissiongroups" + }, + "post": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupCreate" } } } + }, + "parameters": [], + "summary": "Create RightGroups", + "operationId": "postGlobalpermissiongroups" + }, + "patch": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update RightGroups", + "operationId": "patchGlobalpermissiongroups" + }, + "delete": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete RightGroups", + "parameters": [], + "summary": "Delete RightGroups", + "operationId": "deleteGlobalpermissiongroups" + } + }, + "/api/v2/ui/globalpermissiongroups/count": { + "get": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: userMembers" + } + ], + "summary": "Count RightGroups", + "operationId": "getGlobalpermissiongroupsCount" + } + }, + "/api/v2/ui/globalpermissiongroups/{id}/{relation}": { + "get": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/RightGroupRelationUserMembersGetResponse" } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get RightGroups", + "operationId": "getGlobalpermissiongroupsByIdByRelation" + } + }, + "/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}": { + "get": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get RightGroups", + "operationId": "getGlobalpermissiongroupsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupRelationUserMembers" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update RightGroups", + "operationId": "patchGlobalpermissiongroupsByIdRelationshipsByRelation" + }, + "post": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add RightGroups relationship", + "operationId": "postGlobalpermissiongroupsByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove RightGroups relationship", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupRelationUserMembers" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove RightGroups relationship", + "operationId": "deleteGlobalpermissiongroupsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/globalpermissiongroups/{id}": { + "get": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get RightGroups", + "operationId": "getGlobalpermissiongroupsById" + }, + "patch": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update RightGroups", + "operationId": "patchGlobalpermissiongroupsById" + }, + "delete": { + "tags": ["RightGroups"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete RightGroups", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete RightGroups", + "operationId": "deleteGlobalpermissiongroupsById" + } + }, + "/api/v2/ui/hashes": { + "get": { + "tags": ["Hashs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: chunk,hashlist" + } + ], + "summary": "List Hashs", + "operationId": "getHashes" + } + }, + "/api/v2/ui/hashes/count": { + "get": { + "tags": ["Hashs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: chunk,hashlist" + } + ], + "summary": "Count Hashs", + "operationId": "getHashesCount" + } + }, + "/api/v2/ui/hashes/{id}/{relation}": { + "get": { + "tags": ["Hashs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HashRelationHashlistGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Hashs", + "operationId": "getHashesByIdByRelation" + } + }, + "/api/v2/ui/hashes/{id}/relationships/{relation}": { + "get": { + "tags": ["Hashs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Hashs", + "operationId": "getHashesByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Hashs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashRelationHashlist" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Hashs", + "operationId": "patchHashesByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/hashes/{id}": { + "get": { + "tags": ["Hashs"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Hashs", + "operationId": "getHashesById" + } + }, + "/api/v2/ui/hashlists": { + "get": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashlistListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks" + } + ], + "summary": "List Hashlists", + "operationId": "getHashlists" + }, + "post": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HashlistPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashlistCreate" } } } + }, + "parameters": [], + "summary": "Create Hashlists", + "operationId": "postHashlists" + }, + "patch": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Hashlists", + "operationId": "patchHashlists" + }, + "delete": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Hashlists", + "parameters": [], + "summary": "Delete Hashlists", + "operationId": "deleteHashlists" + } + }, + "/api/v2/ui/hashlists/count": { + "get": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashlistListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks" + } + ], + "summary": "Count Hashlists", + "operationId": "getHashlistsCount" + } + }, + "/api/v2/ui/hashlists/{id}/{relation}": { + "get": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HashlistRelationTasksGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Hashlists", + "operationId": "getHashlistsByIdByRelation" + } + }, + "/api/v2/ui/hashlists/{id}/relationships/{relation}": { + "get": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashlistResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Hashlists", + "operationId": "getHashlistsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashlistRelationTasks" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Hashlists", + "operationId": "patchHashlistsByIdRelationshipsByRelation" + }, + "post": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add Hashlists relationship", + "operationId": "postHashlistsByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove Hashlists relationship", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashlistRelationTasks" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove Hashlists relationship", + "operationId": "deleteHashlistsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/hashlists/{id}": { + "get": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashlistResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Hashlists", + "operationId": "getHashlistsById" + }, + "patch": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HashlistPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashlistPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Hashlists", + "operationId": "patchHashlistsById" + }, + "delete": { + "tags": ["Hashlists"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Hashlists", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete Hashlists", + "operationId": "deleteHashlistsById" + } + }, + "/api/v2/ui/hashtypes": { + "get": { + "tags": ["HashTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashTypeListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "List HashTypes", + "operationId": "getHashtypes" + }, + "post": { + "tags": ["HashTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HashTypePostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashTypeCreate" } } } + }, + "parameters": [], + "summary": "Create HashTypes", + "operationId": "postHashtypes" + }, + "patch": { + "tags": ["HashTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update HashTypes", + "operationId": "patchHashtypes" + }, + "delete": { + "tags": ["HashTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete HashTypes", + "parameters": [], + "summary": "Delete HashTypes", + "operationId": "deleteHashtypes" + } + }, + "/api/v2/ui/hashtypes/count": { + "get": { + "tags": ["HashTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashTypeListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "Count HashTypes", + "operationId": "getHashtypesCount" + } + }, + "/api/v2/ui/hashtypes/{id}": { + "get": { + "tags": ["HashTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashTypeResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get HashTypes", + "operationId": "getHashtypesById" + }, + "patch": { + "tags": ["HashTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HashTypePostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashTypePatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update HashTypes", + "operationId": "patchHashtypesById" + }, + "delete": { + "tags": ["HashTypes"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete HashTypes", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete HashTypes", + "operationId": "deleteHashtypesById" + } + }, + "/api/v2/ui/healthcheckagents": { + "get": { + "tags": ["HealthCheckAgents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckAgentListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: agent,healthCheck" + } + ], + "summary": "List HealthCheckAgents", + "operationId": "getHealthcheckagents" + } + }, + "/api/v2/ui/healthcheckagents/count": { + "get": { + "tags": ["HealthCheckAgents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckAgentListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: agent,healthCheck" + } + ], + "summary": "Count HealthCheckAgents", + "operationId": "getHealthcheckagentsCount" + } + }, + "/api/v2/ui/healthcheckagents/{id}/{relation}": { + "get": { + "tags": ["HealthCheckAgents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/HealthCheckAgentRelationHealthCheckGetResponse" } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get HealthCheckAgents", + "operationId": "getHealthcheckagentsByIdByRelation" + } + }, + "/api/v2/ui/healthcheckagents/{id}/relationships/{relation}": { + "get": { + "tags": ["HealthCheckAgents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckAgentResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get HealthCheckAgents", + "operationId": "getHealthcheckagentsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["HealthCheckAgents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckAgentRelationHealthCheck" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update HealthCheckAgents", + "operationId": "patchHealthcheckagentsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/healthcheckagents/{id}": { + "get": { + "tags": ["HealthCheckAgents"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckAgentResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get HealthCheckAgents", + "operationId": "getHealthcheckagentsById" + } + }, + "/api/v2/ui/healthchecks": { + "get": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents" + } + ], + "summary": "List HealthChecks", + "operationId": "getHealthchecks" + }, + "post": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckCreate" } } } + }, + "parameters": [], + "summary": "Create HealthChecks", + "operationId": "postHealthchecks" + }, + "patch": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update HealthChecks", + "operationId": "patchHealthchecks" + }, + "delete": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete HealthChecks", + "parameters": [], + "summary": "Delete HealthChecks", + "operationId": "deleteHealthchecks" + } + }, + "/api/v2/ui/healthchecks/count": { + "get": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents" + } + ], + "summary": "Count HealthChecks", + "operationId": "getHealthchecksCount" + } + }, + "/api/v2/ui/healthchecks/{id}/{relation}": { + "get": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/HealthCheckRelationHealthCheckAgentsGetResponse" } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get HealthChecks", + "operationId": "getHealthchecksByIdByRelation" + } + }, + "/api/v2/ui/healthchecks/{id}/relationships/{relation}": { + "get": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get HealthChecks", + "operationId": "getHealthchecksByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckRelationHealthCheckAgents" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update HealthChecks", + "operationId": "patchHealthchecksByIdRelationshipsByRelation" + }, + "post": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add HealthChecks relationship", + "operationId": "postHealthchecksByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove HealthChecks relationship", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckRelationHealthCheckAgents" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove HealthChecks relationship", + "operationId": "deleteHealthchecksByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/healthchecks/{id}": { + "get": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get HealthChecks", + "operationId": "getHealthchecksById" + }, + "patch": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthCheckPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update HealthChecks", + "operationId": "patchHealthchecksById" + }, + "delete": { + "tags": ["HealthChecks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete HealthChecks", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete HealthChecks", + "operationId": "deleteHealthchecksById" + } + }, + "/api/v2/ui/logentries": { + "get": { + "tags": ["LogEntrys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogEntryListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "List LogEntrys", + "operationId": "getLogentries" + }, + "post": { + "tags": ["LogEntrys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/LogEntryPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogEntryCreate" } } } + }, + "parameters": [], + "summary": "Create LogEntrys", + "operationId": "postLogentries" + }, + "patch": { + "tags": ["LogEntrys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update LogEntrys", + "operationId": "patchLogentries" + }, + "delete": { + "tags": ["LogEntrys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete LogEntrys", + "parameters": [], + "summary": "Delete LogEntrys", + "operationId": "deleteLogentries" + } + }, + "/api/v2/ui/logentries/count": { + "get": { + "tags": ["LogEntrys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogEntryListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "Count LogEntrys", + "operationId": "getLogentriesCount" + } + }, + "/api/v2/ui/logentries/{id}": { + "get": { + "tags": ["LogEntrys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogEntryResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get LogEntrys", + "operationId": "getLogentriesById" + }, + "patch": { + "tags": ["LogEntrys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/LogEntryPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogEntryPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update LogEntrys", + "operationId": "patchLogentriesById" + }, + "delete": { + "tags": ["LogEntrys"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete LogEntrys", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete LogEntrys", + "operationId": "deleteLogentriesById" + } + }, + "/api/v2/ui/notifications": { + "get": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/NotificationSettingListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: user" + } + ], + "summary": "List NotificationSettings", + "operationId": "getNotifications" + }, + "post": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/NotificationSettingPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotificationSettingCreate" } } } + }, + "parameters": [], + "summary": "Create NotificationSettings", + "operationId": "postNotifications" + }, + "patch": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update NotificationSettings", + "operationId": "patchNotifications" + }, + "delete": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete NotificationSettings", + "parameters": [], + "summary": "Delete NotificationSettings", + "operationId": "deleteNotifications" + } + }, + "/api/v2/ui/notifications/count": { + "get": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/NotificationSettingListResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: user" + } + ], + "summary": "Count NotificationSettings", + "operationId": "getNotificationsCount" + } + }, + "/api/v2/ui/notifications/{id}/{relation}": { + "get": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/NotificationSettingRelationUserGetResponse" } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get NotificationSettings", + "operationId": "getNotificationsByIdByRelation" + } + }, + "/api/v2/ui/notifications/{id}/relationships/{relation}": { + "get": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/NotificationSettingResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get NotificationSettings", + "operationId": "getNotificationsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/NotificationSettingRelationUser" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update NotificationSettings", + "operationId": "patchNotificationsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/notifications/{id}": { + "get": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/NotificationSettingResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get NotificationSettings", + "operationId": "getNotificationsById" + }, + "patch": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/NotificationSettingPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotificationSettingPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update NotificationSettings", + "operationId": "patchNotificationsById" + }, + "delete": { + "tags": ["NotificationSettings"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete NotificationSettings", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete NotificationSettings", + "operationId": "deleteNotificationsById" + } + }, + "/api/v2/ui/preprocessors": { + "get": { + "tags": ["Preprocessors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreprocessorListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "List Preprocessors", + "operationId": "getPreprocessors" + }, + "post": { + "tags": ["Preprocessors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/PreprocessorPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreprocessorCreate" } } } + }, + "parameters": [], + "summary": "Create Preprocessors", + "operationId": "postPreprocessors" + }, + "patch": { + "tags": ["Preprocessors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Preprocessors", + "operationId": "patchPreprocessors" + }, + "delete": { + "tags": ["Preprocessors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Preprocessors", + "parameters": [], + "summary": "Delete Preprocessors", + "operationId": "deletePreprocessors" + } + }, + "/api/v2/ui/preprocessors/count": { + "get": { + "tags": ["Preprocessors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreprocessorListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "Count Preprocessors", + "operationId": "getPreprocessorsCount" + } + }, + "/api/v2/ui/preprocessors/{id}": { + "get": { + "tags": ["Preprocessors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreprocessorResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Preprocessors", + "operationId": "getPreprocessorsById" + }, + "patch": { + "tags": ["Preprocessors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/PreprocessorPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreprocessorPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Preprocessors", + "operationId": "patchPreprocessorsById" + }, + "delete": { + "tags": ["Preprocessors"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Preprocessors", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete Preprocessors", + "operationId": "deletePreprocessorsById" + } + }, + "/api/v2/ui/pretasks": { + "get": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: pretaskFiles" + } + ], + "summary": "List Pretasks", + "operationId": "getPretasks" + }, + "post": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskPostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskCreate" } } } + }, + "parameters": [], + "summary": "Create Pretasks", + "operationId": "postPretasks" + }, + "patch": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Pretasks", + "operationId": "patchPretasks" + }, + "delete": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Pretasks", + "parameters": [], + "summary": "Delete Pretasks", + "operationId": "deletePretasks" + } + }, + "/api/v2/ui/pretasks/count": { + "get": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: pretaskFiles" + } + ], + "summary": "Count Pretasks", + "operationId": "getPretasksCount" + } + }, + "/api/v2/ui/pretasks/{id}/{relation}": { + "get": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/PretaskRelationPretaskFilesGetResponse" } + } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Pretasks", + "operationId": "getPretasksByIdByRelation" + } + }, + "/api/v2/ui/pretasks/{id}/relationships/{relation}": { + "get": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Pretasks", + "operationId": "getPretasksByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/PretaskRelationPretaskFiles" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Pretasks", + "operationId": "patchPretasksByIdRelationshipsByRelation" + }, + "post": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add Pretasks relationship", + "operationId": "postPretasksByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove Pretasks relationship", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/PretaskRelationPretaskFiles" } } + } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove Pretasks relationship", + "operationId": "deletePretasksByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/pretasks/{id}": { + "get": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Pretasks", + "operationId": "getPretasksById" + }, + "patch": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskPostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Pretasks", + "operationId": "patchPretasksById" + }, + "delete": { + "tags": ["Pretasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Pretasks", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete Pretasks", + "operationId": "deletePretasksById" + } + }, + "/api/v2/ui/speeds": { + "get": { + "tags": ["Speeds"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SpeedListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: agent,task" + } + ], + "summary": "List Speeds", + "operationId": "getSpeeds" + } + }, + "/api/v2/ui/speeds/count": { + "get": { + "tags": ["Speeds"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SpeedListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: agent,task" + } + ], + "summary": "Count Speeds", + "operationId": "getSpeedsCount" + } + }, + "/api/v2/ui/speeds/{id}/{relation}": { + "get": { + "tags": ["Speeds"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/SpeedRelationTaskGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Speeds", + "operationId": "getSpeedsByIdByRelation" + } + }, + "/api/v2/ui/speeds/{id}/relationships/{relation}": { + "get": { + "tags": ["Speeds"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SpeedResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Speeds", + "operationId": "getSpeedsByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Speeds"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SpeedRelationTask" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Speeds", + "operationId": "patchSpeedsByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/speeds/{id}": { + "get": { + "tags": ["Speeds"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SpeedResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Speeds", + "operationId": "getSpeedsById" + } + }, + "/api/v2/ui/supertasks": { + "get": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: pretasks" + } + ], + "summary": "List Supertasks", + "operationId": "getSupertasks" + }, + "post": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskCreate" } } } + }, + "parameters": [], + "summary": "Create Supertasks", + "operationId": "postSupertasks" + }, + "patch": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Supertasks", + "operationId": "patchSupertasks" + }, + "delete": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Supertasks", + "parameters": [], + "summary": "Delete Supertasks", + "operationId": "deleteSupertasks" + } + }, + "/api/v2/ui/supertasks/count": { + "get": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: pretasks" + } + ], + "summary": "Count Supertasks", + "operationId": "getSupertasksCount" + } + }, + "/api/v2/ui/supertasks/{id}/{relation}": { + "get": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskRelationPretasksGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Supertasks", + "operationId": "getSupertasksByIdByRelation" + } + }, + "/api/v2/ui/supertasks/{id}/relationships/{relation}": { + "get": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Supertasks", + "operationId": "getSupertasksByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskRelationPretasks" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Supertasks", + "operationId": "patchSupertasksByIdRelationshipsByRelation" + }, + "post": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add Supertasks relationship", + "operationId": "postSupertasksByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove Supertasks relationship", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskRelationPretasks" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove Supertasks relationship", + "operationId": "deleteSupertasksByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/supertasks/{id}": { + "get": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Supertasks", + "operationId": "getSupertasksById" + }, + "patch": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Supertasks", + "operationId": "patchSupertasksById" + }, + "delete": { + "tags": ["Supertasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Supertasks", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete Supertasks", + "operationId": "deleteSupertasksById" + } + }, + "/api/v2/ui/tasks": { + "get": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds" + } + ], + "summary": "List Tasks", + "operationId": "getTasks" + }, + "post": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskPostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskCreate" } } } + }, + "parameters": [], + "summary": "Create Tasks", + "operationId": "postTasks" + }, + "patch": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Tasks", + "operationId": "patchTasks" + }, + "delete": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Tasks", + "parameters": [], + "summary": "Delete Tasks", + "operationId": "deleteTasks" + } + }, + "/api/v2/ui/tasks/count": { + "get": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds" + } + ], + "summary": "Count Tasks", + "operationId": "getTasksCount" + } + }, + "/api/v2/ui/tasks/{id}/{relation}": { + "get": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/TaskRelationSpeedsGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Tasks", + "operationId": "getTasksByIdByRelation" + } + }, + "/api/v2/ui/tasks/{id}/relationships/{relation}": { + "get": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Tasks", + "operationId": "getTasksByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskRelationSpeeds" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Tasks", + "operationId": "patchTasksByIdRelationshipsByRelation" + }, + "post": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add Tasks relationship", + "operationId": "postTasksByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove Tasks relationship", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskRelationSpeeds" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove Tasks relationship", + "operationId": "deleteTasksByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/tasks/{id}": { + "get": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Tasks", + "operationId": "getTasksById" + }, + "patch": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskPostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Tasks", + "operationId": "patchTasksById" + }, + "delete": { + "tags": ["Tasks"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Tasks", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete Tasks", + "operationId": "deleteTasksById" + } + }, + "/api/v2/ui/taskwrappers": { + "get": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks" + } + ], + "summary": "List TaskWrappers", + "operationId": "getTaskwrappers" + }, + "patch": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update TaskWrappers", + "operationId": "patchTaskwrappers" + }, + "delete": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete TaskWrappers", + "parameters": [], + "summary": "Delete TaskWrappers", + "operationId": "deleteTaskwrappers" + } + }, + "/api/v2/ui/taskwrappers/count": { + "get": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks" + } + ], + "summary": "Count TaskWrappers", + "operationId": "getTaskwrappersCount" + } + }, + "/api/v2/ui/taskwrappers/{id}/{relation}": { + "get": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperRelationTasksGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get TaskWrappers", + "operationId": "getTaskwrappersByIdByRelation" + } + }, + "/api/v2/ui/taskwrappers/{id}/relationships/{relation}": { + "get": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get TaskWrappers", + "operationId": "getTaskwrappersByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperRelationTasks" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update TaskWrappers", + "operationId": "patchTaskwrappersByIdRelationshipsByRelation" + }, + "post": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add TaskWrappers relationship", + "operationId": "postTaskwrappersByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove TaskWrappers relationship", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperRelationTasks" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove TaskWrappers relationship", + "operationId": "deleteTaskwrappersByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/taskwrappers/{id}": { + "get": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get TaskWrappers", + "operationId": "getTaskwrappersById" + }, + "patch": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update TaskWrappers", + "operationId": "patchTaskwrappersById" + }, + "delete": { + "tags": ["TaskWrappers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete TaskWrappers", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete TaskWrappers", + "operationId": "deleteTaskwrappersById" + } + }, + "/api/v2/ui/users": { + "get": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups" + } + ], + "summary": "List Users", + "operationId": "getUsers" + }, + "post": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCreate" } } } + }, + "parameters": [], + "summary": "Create Users", + "operationId": "postUsers" + }, + "patch": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update Users", + "operationId": "patchUsers" + }, + "delete": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Users", + "parameters": [], + "summary": "Delete Users", + "operationId": "deleteUsers" + } + }, + "/api/v2/ui/users/count": { + "get": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups" + } + ], + "summary": "Count Users", + "operationId": "getUsersCount" + } + }, + "/api/v2/ui/users/{id}/{relation}": { + "get": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/UserRelationAccessGroupsGetResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Users", + "operationId": "getUsersByIdByRelation" + } + }, + "/api/v2/ui/users/{id}/relationships/{relation}": { + "get": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request for for a to-one relationship link. Returns the resource record of the object that is part of the specified relation.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Get Users", + "operationId": "getUsersByIdRelationshipsByRelation" + }, + "patch": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "Successfull operation" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update a to one relationship.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRelationAccessGroups" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Update Users", + "operationId": "patchUsersByIdRelationshipsByRelation" + }, + "post": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully created" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a to-one relationship link.", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Add Users relationship", + "operationId": "postUsersByIdRelationshipsByRelation" + }, + "delete": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "204": { "description": "successfully deleted" }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "Remove Users relationship", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRelationAccessGroups" } } } + }, + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Remove Users relationship", + "operationId": "deleteUsersByIdRelationshipsByRelation" + } + }, + "/api/v2/ui/users/{id}": { + "get": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get Users", + "operationId": "getUsersById" + }, + "patch": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPostPatchResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update Users", + "operationId": "patchUsersById" + }, + "delete": { + "tags": ["Users"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete Users", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete Users", + "operationId": "deleteUsersById" + } + }, + "/api/v2/ui/vouchers": { + "get": { + "tags": ["RegVouchers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "List RegVouchers", + "operationId": "getVouchers" + }, + "post": { + "tags": ["RegVouchers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "201": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherCreate" } } } + }, + "parameters": [], + "summary": "Create RegVouchers", + "operationId": "postVouchers" + }, + "patch": { + "tags": ["RegVouchers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "parameters": [], + "summary": "Update RegVouchers", + "operationId": "patchVouchers" + }, + "delete": { + "tags": ["RegVouchers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { "description": "successful operation" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete RegVouchers", + "parameters": [], + "summary": "Delete RegVouchers", + "operationId": "deleteVouchers" + } + }, + "/api/v2/ui/vouchers/count": { + "get": { + "tags": ["RegVouchers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherListResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET many request to retrieve multiple objects.", + "parameters": [ + { + "name": "page[after]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data after the value provided" + }, + { + "name": "page[before]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 0, + "description": "Pointer to paginate to retrieve the data before the value provided" + }, + { + "name": "page[size]", + "in": "query", + "schema": { "type": "integer", "format": "int32" }, + "example": 100, + "description": "Amout of data to retrieve inside a single page" + }, + { + "name": "filter", + "in": "query", + "style": "deepObject", + "explode": true, + "schema": { "type": "object" }, + "description": "Filters results using a query", + "example": "\"filter[hashlistId__gt]\": 200" + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include, comma seperated. Possible options: " + } + ], + "summary": "Count RegVouchers", + "operationId": "getVouchersCount" + } + }, + "/api/v2/ui/vouchers/{id}": { + "get": { + "tags": ["RegVouchers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherResponse" } } } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "GET request to retrieve a single object.", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "format": "int32", "example": 10 } + }, + { + "name": "include", + "in": "query", + "schema": { "type": "string" }, + "description": "Items to include. Comma seperated" + } + ], + "summary": "Get RegVouchers", + "operationId": "getVouchersById" + }, + "patch": { + "tags": ["RegVouchers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherPostPatchResponse" } } + } + } + }, + "security": [{ "bearerAuth": [] }], + "description": "PATCH request to update attributes of a single object.", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherPatch" } } } + }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Update RegVouchers", + "operationId": "patchVouchersById" + }, + "delete": { + "tags": ["RegVouchers"], + "responses": { + "400": { + "description": "Invalid request", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + }, + "204": { "description": "successfully deleted" } + }, + "security": [{ "bearerAuth": [] }], + "description": "Delete RegVouchers", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, + "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], + "summary": "Delete RegVouchers", + "operationId": "deleteVouchersById" + } + }, + "/api/v2/helper/abortChunk": { + "post": { + "description": "Endpoint to stop a running chunk.
@throws HTException
", + "requestBody": { + "description": "ChunkID is the ID of the chunk that needs to be aborted.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AbortChunkHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AbortChunkHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postAbortChunk", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/assignAgent": { + "post": { + "description": "This endpoint is responsible for assigning a task to a specific agent.
@throws HTException
@throws HttpError
", + "requestBody": { + "description": "The agentId is the Id of the agent that has to be assigned to the task.
The taskId is the Id of the task that will be assigned to the agent. If this is set to 0,
the agent will be unassigned from its current assigned task.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignAgentHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AssignAgentHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postAssignAgent", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/bulkSupertaskBuilder": { + "post": { + "description": "Endpoint to import cracked hashes into a hashlist.
@throws HTException
", + "requestBody": { + "description": "", + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BulkSupertaskBuilderHelperAPI" } } + } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskSingleResponse" } } } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postBulkSupertaskBuilder", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/changeOwnPassword": { + "post": { + "description": "Endpoint to set a password of an user.
@throws HTException
", + "requestBody": { + "description": "oldPassword is the current password of the user.
newPassword is the new password that you want to set.
confirmPassword is the new password again to confirm it.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangeOwnPasswordHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ChangeOwnPasswordHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postChangeOwnPassword", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/createSuperHashlist": { + "post": { + "description": "Endpoint to create a super hashlist from multiple hashlists
@throws HTException
", + "requestBody": { + "description": "HashlistIds is an array of hashlist ids of the hashlists that have to be combined into a superHashlist.
Name is the name of the newly created superHashlist.
", + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CreateSuperHashlistHelperAPI" } } + } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HashlistSingleResponse" } } } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postCreateSuperHashlist", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/createSupertask": { + "post": { + "description": "Endpoint to create a supertask from a supertask template
@throws HTException
", + "requestBody": { + "description": "supertaskTemplateId is the the Id of the supertasktemplate of which you want to create a supertask of.
hashlistId is the Id of the hashlist that has to be used for the supertask.
crackerVersionId is the Id of the crackerversion that is used for the created supertask.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSupertaskHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/TaskWrapperSingleResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postCreateSupertask", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/currentUser": { + "get": { + "description": "@throws NotFoundExceptionInterface
@throws ContainerExceptionInterface
@throws HTException
@throws JsonException
", + "parameters": [], + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "List Helpers", + "operationId": "getCurrentUser", + "security": [{ "bearerAuth": [] }] + }, + "patch": { + "description": "@throws HTException
", + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "Update Helpers", + "operationId": "patchCurrentUser", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/exportCrackedHashes": { + "post": { + "description": "Endpoint to export cracked hashes.
@throws HTException
", + "requestBody": { + "description": "hashlistId is the Id of the hashlist where you want to export the hashes of.
", + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ExportCrackedHashesHelperAPI" } } + } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileSingleResponse" } } } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postExportCrackedHashes", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/exportLeftHashes": { + "post": { + "description": "Endpoint to export uncracked hashes of a hashlist.
@throws HTException
", + "requestBody": { + "description": "hashlistId is the id of the hashlist where you want to export the uncracked hashes of.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExportLeftHashesHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileSingleResponse" } } } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postExportLeftHashes", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/exportWordlist": { + "post": { + "description": "Endpoint to export a wordlist of the cracked hashes inside a hashlist.
@throws HTException
", + "requestBody": { + "description": "hashlistId is the Id of the hashlist where you want to export the wordlist of.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExportWordlistHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileSingleResponse" } } } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postExportWordlist", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/getAccessGroups": { + "get": { + "description": "@throws NotFoundExceptionInterface
@throws ContainerExceptionInterface
@throws HTException
@throws JsonException
", + "parameters": [], + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "List Helpers", + "operationId": "getGetAccessGroups", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/getAgentBinary": { + "get": { + "description": "Endpoint to download files
@param Request $request
@param Response $response
@return Response
@throws HTException
@throws HttpErrorException
", + "parameters": [ + { + "in": "query", + "name": "agent", + "schema": { "type": "integer", "format": "int32" }, + "required": true, + "example": 1, + "description": "The ID of the agent zip to download." + } + ], + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "List Helpers", + "operationId": "getGetAgentBinary", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/getBestTasksAgent": { + "get": { + "description": "Endpoint to get the tasks a agent can work on
@param Request $request
@param Response $response
@return Response
@throws HttpErrorException
", + "parameters": [ + { + "in": "query", + "name": "agent", + "schema": { "type": "integer", "format": "int32" }, + "required": true, + "example": 1, + "description": "The ID of the agent." + } + ], + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "List Helpers", + "operationId": "getGetBestTasksAgent", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/getCracksOfTask": { + "get": { + "description": "Endpoint to get the cracked hashes of a certain task
@param Request $request
@param Response $response
@return Response
@throws HttpError
@throws HTException
@throws JsonException
@throws ContainerExceptionInterface
@throws NotFoundExceptionInterface
", + "parameters": [ + { + "in": "query", + "name": "task", + "schema": { "type": "integer", "format": "int32" }, + "required": true, + "example": 1, + "description": "The ID of the task." + } + ], + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "List Helpers", + "operationId": "getGetCracksOfTask", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/getFile": { + "get": { + "description": "Endpoint to download files
@param Request $request
@param Response $response
@return Response
@throws HTException
@throws HttpErrorException
", + "parameters": [ + { + "in": "query", + "name": "file", + "schema": { "type": "integer", "format": "int32" }, + "required": true, + "example": 1, + "description": "The ID of the file to download." + } + ], + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "List Helpers", + "operationId": "getGetFile", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/getTaskProgressImage": { + "get": { + "description": "Endpoint to download files
@param Request $request
@param Response $response
@return Response
@throws HTException
@throws HttpError
@throws HttpForbidden
", + "parameters": [ + { + "in": "query", + "name": "supertask", + "schema": { "type": "integer", "format": "int32" }, + "required": false, + "example": 1, + "description": "The ID of the supertask where you want to create the progress image of." + }, + { + "in": "query", + "name": "task", + "schema": { "type": "integer", "format": "int32" }, + "required": false, + "example": 1, + "description": "The ID of the task where you want to create the progress image of." + } + ], + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "List Helpers", + "operationId": "getGetTaskProgressImage", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/getUserPermission": { + "get": { + "description": "@throws NotFoundExceptionInterface
@throws ContainerExceptionInterface
@throws HTException
@throws JsonException
", + "parameters": [], + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "List Helpers", + "operationId": "getGetUserPermission", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/importCrackedHashes": { + "post": { + "description": "Endpoint to import cracked hashes into a hashlist.
@throws HTException
@throws HttpError
", + "requestBody": { + "description": "HashlistId is the Id of the hashlist where you want to import the cracked hashes into.
SourceData is the cracked hashes you want to import.
Seperator is the seperator that has been used for the salt in the hashes.
", + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ImportCrackedHashesHelperAPI" } } + } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ImportCrackedHashesHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postImportCrackedHashes", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/importFile": { + "post": { + "description": "Create Helpers", + "requestBody": { + "description": "Import file has no POST parameters
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImportFileHelperAPI" } } } + }, + "responses": { + "200": { "description": "successful operation" }, + "201": { + "description": "successful operation", + "headers": { + "Tus-Resumable": { + "description": "Indicates the TUS version the server supports.\n Must always be set to `1.0.0` in compliant servers.", + "schema": { "type": "string", "enum": ["1.0.0"] } + }, + "Location": { + "description": "Location of the file where the user can push to.", + "schema": { "type": "string" } + } + }, + "content": { "application/pdf": { "schema": { "type": "string", "format": "binary" } } } + } + }, + "parameters": [ + { + "name": "Upload-Metadata", + "in": "header", + "required": true, + "schema": { + "type": "string", + "pattern": "^([a-zA-Z0-9]+ [A-Za-z0-9+/=]+)(,[a-zA-Z0-9]+ [A-Za-z0-9+/=]+)*$" + }, + "example": "filename ZXhhbXBsZS50eHQ=", + "description": " The Upload-Metadata header contains one or more comma-separated key-value pairs.\n Each pair is formatted as ` `, where:\n - `key` is a string without spaces.\n - `value` is base64-encoded" + }, + { + "name": "Upload-Length", + "in": "header", + "schema": { "type": "integer", "minimum": 1 }, + "example": 10000, + "description": "The total size of the upload in bytes. Must be a positive integer.\n Required if `Upload-Defer-Length` is not set." + }, + { + "name": "Upload-Defer-Length", + "in": "header", + "schema": { "type": "integer" }, + "example": 1, + "description": "Indicates that the upload length is not known at creation time.\n Value must be `1`. If present, `Upload-Length` must be omitted." + } + ], + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postImportFile", + "security": [{ "bearerAuth": [] }] + }, + "get": { + "description": "List Helpers", + "parameters": [], + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "summary": "List Helpers", + "operationId": "getImportFile", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/importFile/{id}-[0-9a-f]{32}}": { + "head": { + "description": "A HEAD request is used in the TUS protocol to determine the offset at which the upload should be continued.
And to retrieve the upload status.
", + "responses": { + "200": { + "description": "successful request", + "headers": { + "Tus-Resumable": { + "description": "Indicates the TUS version the server supports.\n Must always be set to `1.0.0` in compliant servers.", + "schema": { "type": "string", "enum": ["1.0.0"] } + }, + "Upload-Offset": { "description": "Number of bytes already received", "schema": { "type": "integer" } }, + "Upload-Length": { "description": "Total upload length (if known)", "schema": { "type": "integer" } }, + "Upload-Defer-Length": { + "description": "Indicates deferred upload length (if applicable)", + "schema": { "type": "string" } + }, + "Upload-Metadata": { + "description": "Original metadata sent during creation", + "schema": { "type": "string" } + } + } + } + }, + "tags": ["Helpers"], + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "32", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Head Helpers", + "operationId": "headImportFileById}-[0-9a-f]{32", + "security": [{ "bearerAuth": [] }] + }, + "patch": { + "description": "Given the offset in the 'Upload Offset' header, the user can use this PATCH endpoint in order to resume the upload.
@throws HttpError
", + "responses": { + "200": { "description": "successful operation" }, + "204": { + "description": "Chunk accepted", + "headers": { + "Tus-Resumable": { + "description": "Indicates the TUS version the server supports.\n Must always be set to `1.0.0` in compliant servers.", + "schema": { "type": "string", "enum": ["1.0.0"] } + }, + "Upload-Offset": { + "description": "The new offset after the chunk is accepted. Indicates how many bytes were received so far.", + "schema": { "type": "integer" } + } + } + } + }, + "parameters": [ + { + "name": "Upload-Offset", + "in": "header", + "required": true, + "schema": { "type": "integer" }, + "example": "512", + "description": " The Upload-Offset header's value MUST be equal to the current offset of the resource" + }, + { + "name": "Content-Type", + "in": "header", + "required": true, + "schema": { "type": "string", "enum": ["application/offset+octet-stream"] } + }, + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "32", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "requestBody": { + "required": true, + "description": "The binary data to push to the file", + "content": { "application/offset+octet-stream": { "schema": { "type": "string", "format": "binary" } } } + }, + "tags": ["Helpers"], + "summary": "Update Helpers", + "operationId": "patchImportFileById}-[0-9a-f]{32", + "security": [{ "bearerAuth": [] }] + }, + "delete": { + "description": "Delete Helpers", + "responses": { "200": { "description": "successful operation" } }, + "tags": ["Helpers"], + "parameters": [ + { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, + { "name": "32", "in": "path", "required": true, "schema": { "type": "string" } } + ], + "summary": "Delete Helpers", + "operationId": "deleteImportFileById}-[0-9a-f]{32", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/maskSupertaskBuilder": { + "post": { + "description": "Endpoint to import cracked hashes into a hashlist.
@throws HTException
", + "requestBody": { + "description": "", + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/MaskSupertaskBuilderHelperAPI" } } + } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupertaskSingleResponse" } } } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postMaskSupertaskBuilder", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/purgeTask": { + "post": { + "description": "Endpoint to purge a task. Meaning all chunks of a task will be deleted and keyspace and progress will be set to 0.
@throws HTException
", + "requestBody": { + "description": "taskId is the id of the task that should be purged.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurgeTaskHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/PurgeTaskHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postPurgeTask", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/rebuildChunkCache": { + "post": { + "description": "Endpoint to recount files for when there is size mismatch
@param $data
@return object|array|null
", + "requestBody": { + "description": "", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RebuildChunkCacheHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RebuildChunkCacheHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postRebuildChunkCache", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/recountFileLines": { + "post": { + "description": "Endpoint to recount files for when there is size mismatch
@param $data
@return object|array|null
@throws HTException
@throws ContainerExceptionInterface
@throws NotFoundExceptionInterface
", + "requestBody": { + "description": "FileId is the id of the file that needs to be recounted.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RecountFileLinesHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileSingleResponse" } } } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postRecountFileLines", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/rescanGlobalFiles": { + "post": { + "description": "Endpoint to recount files for when there is size mismatch
@param $data
@return object|array|null
@throws HTMessages
", + "requestBody": { + "description": "", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RescanGlobalFilesHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RescanGlobalFilesHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postRescanGlobalFiles", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/resetChunk": { + "post": { + "description": "Endpoint to reset a chunk.
@throws HTException
", + "requestBody": { + "description": "chunkId is the id of the chunk which you want to reset.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResetChunkHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ResetChunkHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postResetChunk", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/resetUserPassword": { + "post": { + "description": "@throws HTException
", + "requestBody": { + "description": "", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResetUserPasswordHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/ResetUserPasswordHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postResetUserPassword", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/searchHashes": { + "post": { + "description": "Endpoint to search for hashes in accessible hashlists.
@param $data
@return object|array|null
@throws ContainerExceptionInterface
@throws NotFoundExceptionInterface
@throws HttpError
", + "requestBody": { + "description": "", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchHashesHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/SearchHashesHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postSearchHashes", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/setUserPassword": { + "post": { + "description": "Endpoint to set a password of an user.
@throws HTException
", + "requestBody": { + "description": "userId is the id of the user of which you want to change the password.
password is the new password that you want to set.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetUserPasswordHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/SetUserPasswordHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postSetUserPassword", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/helper/unassignAgent": { + "post": { + "description": "Endpoint to unassign an agent.
@throws HTException
@throws HttpError
", + "requestBody": { + "description": "agentId is the id of the agent which you want to unassign.
", + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnassignAgentHelperAPI" } } } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/UnassignAgentHelperAPIResponse" } } + } + } + }, + "tags": ["Helpers"], + "summary": "Create Helpers", + "operationId": "postUnassignAgent", + "security": [{ "bearerAuth": [] }] + } + }, + "/api/v2/auth/token": { + "post": { + "tags": ["Login"], + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenRequest" } } } + }, + "responses": { + "200": { + "description": "Success", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Token" } } } + }, + "401": { + "description": "Authentication failed", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } + }, + "404": { + "description": "Not Found", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundResponse" } } } + } + }, + "security": [{ "basicAuth": [] }], + "summary": "Create Login", + "operationId": "postToken", + "description": "Create Login" + } + } + }, + "components": { + "schemas": { + "ErrorResponse": { + "type": "object", + "required": ["status"], + "properties": { + "title": { "type": "string", "example": "about=>blank" }, + "type": { "type": "string", "example": "Error details here" }, + "status": { "type": "integer", "example": 400 } + } + }, + "NotFoundResponse": { + "type": "object", + "required": ["message"], + "properties": { + "message": { "type": "string", "example": "404 Not Found" }, + "exception": { + "type": "object", + "properties": { + "type": { "type": "string", "example": "Slim\\Exception\\HttpNotFoundException" }, + "code": { "type": "integer", "example": 404 }, + "message": { "type": "string", "example": "Not Found" }, + "file": { + "type": "string", + "example": "../hashtopolis/server/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php" + }, + "line": { "type": "integer", "example": 91 } + } + } + } + }, + "AccessGroupCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { "type": "object", "properties": { "groupName": { "type": "string" } } } + } + } + } + }, + "AccessGroupPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { "type": "object", "properties": { "groupName": { "type": "string" } } } + } + } + } + }, + "AccessGroupResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + }, + "relationships": { + "type": "object", + "required": ["agentMembers", "userMembers"], + "properties": { + "agentMembers": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/accessgroups/relationships/agentMembers" }, + "related": { "type": "string", "default": "/api/v2/ui/accessgroups/agentMembers" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + } + } + } + }, + "userMembers": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/accessgroups/relationships/userMembers" }, + "related": { "type": "string", "default": "/api/v2/ui/accessgroups/userMembers" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentMembers" }, + "attributes": { + "type": "object", + "properties": { + "agentId": { "type": "integer" }, + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { "type": "integer" }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + } + } + } + }, + "AccessGroupPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + } + } + }, + "AccessGroupListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["agentMembers", "userMembers"], + "properties": { + "agentMembers": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/accessgroups/relationships/agentMembers" }, + "related": { "type": "string", "default": "/api/v2/ui/accessgroups/agentMembers" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + } + } + } + }, + "userMembers": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/accessgroups/relationships/userMembers" }, + "related": { "type": "string", "default": "/api/v2/ui/accessgroups/userMembers" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentMembers" }, + "attributes": { + "type": "object", + "properties": { + "agentId": { "type": "integer" }, + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { "type": "integer" }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + } + } + } + }, + "AccessGroupRelationAgentMembers": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "agentMembers" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "AccessGroupRelationAgentMembersGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "agentMembers" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "AgentPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "properties": { + "agentName": { "type": "string" }, + "cmdPars": { "type": "string" }, + "cpuOnly": { "type": "boolean" }, + "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "os": { "type": "integer" }, + "uid": { "type": "string" }, + "userId": { "type": "integer" } + } + } + } + } + } + }, + "AgentResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { "type": "integer" }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroups", "agentErrors", "agentStats", "assignments", "chunks", "tasks", "user"], + "properties": { + "accessGroups": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/accessGroups" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/accessGroups" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + } + } + } + }, + "agentErrors": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/agentErrors" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/agentErrors" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agentError" }, "id": { "type": "integer" } } + } + } + } + }, + "agentStats": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/agentStats" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/agentStats" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agentStat" }, "id": { "type": "integer" } } + } + } + } + }, + "assignments": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/assignments" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/assignments" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "agentAssignment" }, + "id": { "type": "integer" } + } + } + } + } + }, + "chunks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/chunks" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/chunks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "chunk" }, "id": { "type": "integer" } } + } + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + }, + "user": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/user" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/user" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "assignments" }, + "attributes": { + "type": "object", + "properties": { + "assignmentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "benchmark": { "type": "string" } + } + } + } + } + } + } + }, + "AgentPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { "type": "integer" }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + } + } + }, + "AgentListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { "type": "integer" }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroups", "agentErrors", "agentStats", "assignments", "chunks", "tasks", "user"], + "properties": { + "accessGroups": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/accessGroups" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/accessGroups" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + } + } + } + }, + "agentErrors": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/agentErrors" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/agentErrors" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agentError" }, "id": { "type": "integer" } } + } + } + } + }, + "agentStats": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/agentStats" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/agentStats" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agentStat" }, "id": { "type": "integer" } } + } + } + } + }, + "assignments": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/assignments" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/assignments" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "agentAssignment" }, + "id": { "type": "integer" } + } + } + } + } + }, + "chunks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/chunks" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/chunks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "chunk" }, "id": { "type": "integer" } } + } + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + }, + "user": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agents/relationships/user" }, + "related": { "type": "string", "default": "/api/v2/ui/agents/user" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "assignments" }, + "attributes": { + "type": "object", + "properties": { + "assignmentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "benchmark": { "type": "string" } + } + } + } + } + } + } + }, + "AgentRelationAssignments": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "assignments" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "AgentRelationAssignmentsGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "assignments" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "AssignmentCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "assignment" }, + "attributes": { + "type": "object", + "properties": { + "taskId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "benchmark": { "type": "string" } + } + } + } + } + } + }, + "AssignmentPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "assignment" }, + "attributes": { "type": "object", "properties": { "benchmark": { "type": "string" } } } + } + } + } + }, + "AssignmentResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "assignment" }, + "attributes": { + "type": "object", + "required": ["taskId", "agentId", "benchmark"], + "properties": { + "taskId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "benchmark": { "type": "string" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["agent", "task"], + "properties": { + "agent": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentassignments/relationships/agent" }, + "related": { "type": "string", "default": "/api/v2/ui/agentassignments/agent" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentassignments/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/agentassignments/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "AssignmentPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "assignment" }, + "attributes": { + "type": "object", + "required": ["taskId", "agentId", "benchmark"], + "properties": { + "taskId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "benchmark": { "type": "string" } + } + } + } + } + } + }, + "AssignmentListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "assignment" }, + "attributes": { + "type": "object", + "required": ["taskId", "agentId", "benchmark"], + "properties": { + "taskId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "benchmark": { "type": "string" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["agent", "task"], + "properties": { + "agent": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentassignments/relationships/agent" }, + "related": { "type": "string", "default": "/api/v2/ui/agentassignments/agent" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentassignments/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/agentassignments/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "AssignmentRelationTask": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "AssignmentRelationTaskGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "AgentBinaryCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "agentBinary" }, + "attributes": { + "type": "object", + "properties": { + "binaryType": { "type": "string" }, + "version": { "type": "string" }, + "operatingSystems": { "type": "string" }, + "filename": { "type": "string" }, + "updateTrack": { "type": "string" } + } + } + } + } + } + }, + "AgentBinaryPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "agentBinary" }, + "attributes": { + "type": "object", + "properties": { + "binaryType": { "type": "string" }, + "filename": { "type": "string" }, + "operatingSystems": { "type": "string" }, + "updateTrack": { "type": "string" }, + "version": { "type": "string" } + } + } + } + } + } + }, + "AgentBinaryResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentBinary" }, + "attributes": { + "type": "object", + "required": ["binaryType", "version", "operatingSystems", "filename", "updateTrack", "updateAvailable"], + "properties": { + "binaryType": { "type": "string" }, + "version": { "type": "string" }, + "operatingSystems": { "type": "string" }, + "filename": { "type": "string" }, + "updateTrack": { "type": "string" }, + "updateAvailable": { "type": "string" } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "AgentBinaryPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentBinary" }, + "attributes": { + "type": "object", + "required": ["binaryType", "version", "operatingSystems", "filename", "updateTrack", "updateAvailable"], + "properties": { + "binaryType": { "type": "string" }, + "version": { "type": "string" }, + "operatingSystems": { "type": "string" }, + "filename": { "type": "string" }, + "updateTrack": { "type": "string" }, + "updateAvailable": { "type": "string" } + } + } + } + } + } + }, + "AgentBinaryListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentBinary" }, + "attributes": { + "type": "object", + "required": [ + "binaryType", + "version", + "operatingSystems", + "filename", + "updateTrack", + "updateAvailable" + ], + "properties": { + "binaryType": { "type": "string" }, + "version": { "type": "string" }, + "operatingSystems": { "type": "string" }, + "filename": { "type": "string" }, + "updateTrack": { "type": "string" }, + "updateAvailable": { "type": "string" } + } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "AgentErrorResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentError" }, + "attributes": { + "type": "object", + "required": ["agentId", "taskId", "chunkId", "time", "error"], + "properties": { + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "chunkId": { "type": "integer" }, + "time": { "type": "integer", "format": "int64" }, + "error": { "type": "string" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["task"], + "properties": { + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agenterrors/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/agenterrors/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "AgentErrorListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentError" }, + "attributes": { + "type": "object", + "required": ["agentId", "taskId", "chunkId", "time", "error"], + "properties": { + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "chunkId": { "type": "integer" }, + "time": { "type": "integer", "format": "int64" }, + "error": { "type": "string" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["task"], + "properties": { + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agenterrors/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/agenterrors/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "AgentErrorRelationTask": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "AgentErrorRelationTaskGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "AgentStatResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentStat" }, + "attributes": { + "type": "object", + "required": ["agentId", "statType", "time", "value"], + "properties": { + "agentId": { "type": "integer" }, + "statType": { "type": "integer" }, + "time": { "type": "integer", "format": "int64" }, + "value": { "type": "array", "items": { "type": "integer" } } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "AgentStatListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentStat" }, + "attributes": { + "type": "object", + "required": ["agentId", "statType", "time", "value"], + "properties": { + "agentId": { "type": "integer" }, + "statType": { "type": "integer" }, + "time": { "type": "integer", "format": "int64" }, + "value": { "type": "array", "items": { "type": "integer" } } + } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "JwtApiKeyCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "jwtApiKey" }, + "attributes": { + "type": "object", + "properties": { + "scopes": { "type": "array", "items": { "type": "integer" } }, + "startValid": { "type": "integer", "format": "int64" }, + "endValid": { "type": "integer", "format": "int64" }, + "userId": { "type": "integer" }, + "isRevoked": { "type": "boolean" } + } + } + } + } + } + }, + "JwtApiKeyPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "jwtApiKey" }, + "attributes": { "type": "object", "properties": { "isRevoked": { "type": "boolean" } } } + } + } + } + }, + "JwtApiKeyResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "jwtApiKey" }, + "attributes": { + "type": "object", + "required": ["startValid", "endValid", "userId", "isRevoked"], + "properties": { + "startValid": { "type": "integer", "format": "int64" }, + "endValid": { "type": "integer", "format": "int64" }, + "userId": { "type": "integer" }, + "isRevoked": { "type": "boolean" }, + "token": { "type": "string" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["user"], + "properties": { + "user": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/apiTokens/relationships/user" }, + "related": { "type": "string", "default": "/api/v2/ui/apiTokens/user" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "properties": { + "userId": { "type": "integer" }, + "name": { "type": "string" }, + "email": { "type": "string" }, + "passwordHash": { "type": "string" }, + "passwordSalt": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + } + } + } + }, + "JwtApiKeyPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "jwtApiKey" }, + "attributes": { + "type": "object", + "required": ["startValid", "endValid", "userId", "isRevoked"], + "properties": { + "startValid": { "type": "integer", "format": "int64" }, + "endValid": { "type": "integer", "format": "int64" }, + "userId": { "type": "integer" }, + "isRevoked": { "type": "boolean" }, + "token": { "type": "string" } + } + } + } + } + } + }, + "JwtApiKeyListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "jwtApiKey" }, + "attributes": { + "type": "object", + "required": ["startValid", "endValid", "userId", "isRevoked"], + "properties": { + "startValid": { "type": "integer", "format": "int64" }, + "endValid": { "type": "integer", "format": "int64" }, + "userId": { "type": "integer" }, + "isRevoked": { "type": "boolean" }, + "token": { "type": "string" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["user"], + "properties": { + "user": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/apiTokens/relationships/user" }, + "related": { "type": "string", "default": "/api/v2/ui/apiTokens/user" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "properties": { + "userId": { "type": "integer" }, + "name": { "type": "string" }, + "email": { "type": "string" }, + "passwordHash": { "type": "string" }, + "passwordSalt": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + } + } + } + }, + "JwtApiKeyRelationUser": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "JwtApiKeyRelationUserGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "ChunkResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "chunk" }, + "attributes": { + "type": "object", + "required": [ + "taskId", + "skip", + "length", + "agentId", + "dispatchTime", + "solveTime", + "checkpoint", + "progress", + "state", + "cracked", + "speed" + ], + "properties": { + "taskId": { "type": "integer" }, + "skip": { "type": "integer" }, + "length": { "type": "integer" }, + "agentId": { "type": "integer" }, + "dispatchTime": { "type": "integer", "format": "int64" }, + "solveTime": { "type": "integer", "format": "int64" }, + "checkpoint": { "type": "integer", "format": "int64" }, + "progress": { "type": "integer" }, + "state": { "type": "integer" }, + "cracked": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["agent", "task"], + "properties": { + "agent": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/chunks/relationships/agent" }, + "related": { "type": "string", "default": "/api/v2/ui/chunks/agent" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/chunks/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/chunks/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "ChunkListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "chunk" }, + "attributes": { + "type": "object", + "required": [ + "taskId", + "skip", + "length", + "agentId", + "dispatchTime", + "solveTime", + "checkpoint", + "progress", + "state", + "cracked", + "speed" + ], + "properties": { + "taskId": { "type": "integer" }, + "skip": { "type": "integer" }, + "length": { "type": "integer" }, + "agentId": { "type": "integer" }, + "dispatchTime": { "type": "integer", "format": "int64" }, + "solveTime": { "type": "integer", "format": "int64" }, + "checkpoint": { "type": "integer", "format": "int64" }, + "progress": { "type": "integer" }, + "state": { "type": "integer" }, + "cracked": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["agent", "task"], + "properties": { + "agent": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/chunks/relationships/agent" }, + "related": { "type": "string", "default": "/api/v2/ui/chunks/agent" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/chunks/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/chunks/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "ChunkRelationTask": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "ChunkRelationTaskGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "ConfigPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "config" }, + "attributes": { + "type": "object", + "properties": { "item": { "type": "string" }, "value": { "type": "string" } } + } + } + } + } + }, + "ConfigResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "config" }, + "attributes": { + "type": "object", + "required": ["configSectionId", "item", "value"], + "properties": { + "configSectionId": { "type": "integer" }, + "item": { "type": "string" }, + "value": { "type": "string" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["configSection"], + "properties": { + "configSection": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/configs/relationships/configSection" }, + "related": { "type": "string", "default": "/api/v2/ui/configs/configSection" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "configSection" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "configSection" }, + "attributes": { + "type": "object", + "properties": { "configSectionId": { "type": "integer" }, "sectionName": { "type": "string" } } + } + } + } + } + } + }, + "ConfigPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "config" }, + "attributes": { + "type": "object", + "required": ["configSectionId", "item", "value"], + "properties": { + "configSectionId": { "type": "integer" }, + "item": { "type": "string" }, + "value": { "type": "string" } + } + } + } + } + } + }, + "ConfigListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "config" }, + "attributes": { + "type": "object", + "required": ["configSectionId", "item", "value"], + "properties": { + "configSectionId": { "type": "integer" }, + "item": { "type": "string" }, + "value": { "type": "string" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["configSection"], + "properties": { + "configSection": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/configs/relationships/configSection" }, + "related": { "type": "string", "default": "/api/v2/ui/configs/configSection" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "configSection" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "configSection" }, + "attributes": { + "type": "object", + "properties": { "configSectionId": { "type": "integer" }, "sectionName": { "type": "string" } } + } + } + } + } + } + }, + "ConfigRelationConfigSection": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "configSection" }, + "id": { "type": "integer", "default": 1 } + } + } + } + }, + "ConfigRelationConfigSectionGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "configSection" }, + "id": { "type": "integer", "default": 1 } + } + } + } + }, + "ConfigSectionResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "configSection" }, + "attributes": { + "type": "object", + "required": ["sectionName"], + "properties": { "sectionName": { "type": "string" } } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "ConfigSectionListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "configSection" }, + "attributes": { + "type": "object", + "required": ["sectionName"], + "properties": { "sectionName": { "type": "string" } } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "CrackerBinaryCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "crackerBinary" }, + "attributes": { + "type": "object", + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + } + } + }, + "CrackerBinaryPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "crackerBinary" }, + "attributes": { + "type": "object", + "properties": { + "binaryName": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "version": { "type": "string" } + } + } + } + } + } + }, + "CrackerBinaryResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinary" }, + "attributes": { + "type": "object", + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["crackerBinaryType", "tasks"], + "properties": { + "crackerBinaryType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackers/relationships/crackerBinaryType" }, + "related": { "type": "string", "default": "/api/v2/ui/crackers/crackerBinaryType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinaryType" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackers/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/crackers/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "CrackerBinaryPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinary" }, + "attributes": { + "type": "object", + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + } + } + }, + "CrackerBinaryListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinary" }, + "attributes": { + "type": "object", + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["crackerBinaryType", "tasks"], + "properties": { + "crackerBinaryType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackers/relationships/crackerBinaryType" }, + "related": { "type": "string", "default": "/api/v2/ui/crackers/crackerBinaryType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinaryType" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackers/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/crackers/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "CrackerBinaryRelationTasks": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "tasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "CrackerBinaryRelationTasksGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "tasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "CrackerBinaryTypeCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "crackerBinaryType" }, + "attributes": { "type": "object", "properties": { "typeName": { "type": "string" } } } + } + } + } + }, + "CrackerBinaryTypePatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "crackerBinaryType" }, + "attributes": { + "type": "object", + "properties": { "isChunkingAvailable": { "type": "boolean" }, "typeName": { "type": "string" } } + } + } + } + } + }, + "CrackerBinaryTypeResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinaryType" }, + "attributes": { + "type": "object", + "required": ["typeName", "isChunkingAvailable"], + "properties": { "typeName": { "type": "string" }, "isChunkingAvailable": { "type": "boolean" } } + } + } + }, + "relationships": { + "type": "object", + "required": ["crackerVersions", "tasks"], + "properties": { + "crackerVersions": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackertypes/relationships/crackerVersions" }, + "related": { "type": "string", "default": "/api/v2/ui/crackertypes/crackerVersions" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinary" }, + "id": { "type": "integer" } + } + } + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackertypes/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/crackertypes/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "CrackerBinaryTypePostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinaryType" }, + "attributes": { + "type": "object", + "required": ["typeName", "isChunkingAvailable"], + "properties": { "typeName": { "type": "string" }, "isChunkingAvailable": { "type": "boolean" } } + } + } + } + } + }, + "CrackerBinaryTypeListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinaryType" }, + "attributes": { + "type": "object", + "required": ["typeName", "isChunkingAvailable"], + "properties": { "typeName": { "type": "string" }, "isChunkingAvailable": { "type": "boolean" } } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["crackerVersions", "tasks"], + "properties": { + "crackerVersions": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackertypes/relationships/crackerVersions" }, + "related": { "type": "string", "default": "/api/v2/ui/crackertypes/crackerVersions" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinary" }, + "id": { "type": "integer" } + } + } + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/crackertypes/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/crackertypes/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "CrackerBinaryTypeRelationTasks": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "tasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "CrackerBinaryTypeRelationTasksGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "tasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "FileCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "file" }, + "attributes": { + "type": "object", + "properties": { + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "filename": { "type": "string" }, + "isSecret": { "type": "boolean" }, + "fileType": { "type": "integer" }, + "accessGroupId": { "type": "integer" } + } + } + } + } + } + }, + "FilePatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "file" }, + "attributes": { + "type": "object", + "properties": { + "accessGroupId": { "type": "integer" }, + "fileType": { "type": "integer" }, + "filename": { "type": "string" }, + "isSecret": { "type": "boolean" } + } + } + } + } + } + }, + "FileResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/files?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "file" }, + "attributes": { + "type": "object", + "required": ["filename", "size", "isSecret", "fileType", "accessGroupId", "lineCount"], + "properties": { + "filename": { "type": "string" }, + "size": { "type": "integer", "format": "int64" }, + "isSecret": { "type": "boolean" }, + "fileType": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "lineCount": { "type": "integer", "format": "int64" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroup"], + "properties": { + "accessGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/files/relationships/accessGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/files/accessGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + } + } + } + } + } + }, + "FileSingleResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "file" }, + "attributes": { + "type": "object", + "required": ["filename", "size", "isSecret", "fileType", "accessGroupId", "lineCount"], + "properties": { + "filename": { "type": "string" }, + "size": { "type": "integer", "format": "int64" }, + "isSecret": { "type": "boolean" }, + "fileType": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "lineCount": { "type": "integer", "format": "int64" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroup"], + "properties": { + "accessGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/files/relationships/accessGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/files/accessGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + } + } + } + } + } + }, + "FilePostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "file" }, + "attributes": { + "type": "object", + "required": ["filename", "size", "isSecret", "fileType", "accessGroupId", "lineCount"], + "properties": { + "filename": { "type": "string" }, + "size": { "type": "integer", "format": "int64" }, + "isSecret": { "type": "boolean" }, + "fileType": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "lineCount": { "type": "integer", "format": "int64" } + } + } + } + } + } + }, + "FileListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/files?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "file" }, + "attributes": { + "type": "object", + "required": ["filename", "size", "isSecret", "fileType", "accessGroupId", "lineCount"], + "properties": { + "filename": { "type": "string" }, + "size": { "type": "integer", "format": "int64" }, + "isSecret": { "type": "boolean" }, + "fileType": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "lineCount": { "type": "integer", "format": "int64" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroup"], + "properties": { + "accessGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/files/relationships/accessGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/files/accessGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + } + } + } + } + } + }, + "FileRelationAccessGroup": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer", "default": 1 } + } + } + } + }, + "FileRelationAccessGroupGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer", "default": 1 } + } + } + } + }, + "RightGroupCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "rightGroup" }, + "attributes": { + "type": "object", + "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + } + } + } + } + }, + "RightGroupPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "rightGroup" }, + "attributes": { + "type": "object", + "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + } + } + } + } + }, + "RightGroupResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0" }, + "last": { + "type": "string", + "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500" + }, + "next": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25" }, + "previous": { + "type": "string", + "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25" + } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "rightGroup" }, + "attributes": { + "type": "object", + "required": ["name", "permissions"], + "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + } + } + }, + "relationships": { + "type": "object", + "required": ["userMembers"], + "properties": { + "userMembers": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { + "type": "string", + "default": "/api/v2/ui/globalpermissiongroups/relationships/userMembers" + }, + "related": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups/userMembers" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "userMembers" }, + "attributes": { + "type": "object", + "properties": { + "userId": { "type": "integer" }, + "name": { "type": "string" }, + "email": { "type": "string" }, + "passwordHash": { "type": "string" }, + "passwordSalt": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + } + } + } + }, + "RightGroupPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "rightGroup" }, + "attributes": { + "type": "object", + "required": ["name", "permissions"], + "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + } + } + } + } + }, + "RightGroupListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0" }, + "last": { + "type": "string", + "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500" + }, + "next": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25" }, + "previous": { + "type": "string", + "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "rightGroup" }, + "attributes": { + "type": "object", + "required": ["name", "permissions"], + "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["userMembers"], + "properties": { + "userMembers": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { + "type": "string", + "default": "/api/v2/ui/globalpermissiongroups/relationships/userMembers" + }, + "related": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups/userMembers" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "userMembers" }, + "attributes": { + "type": "object", + "properties": { + "userId": { "type": "integer" }, + "name": { "type": "string" }, + "email": { "type": "string" }, + "passwordHash": { "type": "string" }, + "passwordSalt": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + } + } + } + }, + "RightGroupRelationUserMembers": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "userMembers" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "RightGroupRelationUserMembersGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "userMembers" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "HashResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hash" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "hash", + "salt", + "plaintext", + "timeCracked", + "chunkId", + "isCracked", + "crackPos" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "hash": { "type": "string" }, + "salt": { "type": "string" }, + "plaintext": { "type": "string" }, + "timeCracked": { "type": "integer", "format": "int64" }, + "chunkId": { "type": "integer" }, + "isCracked": { "type": "boolean" }, + "crackPos": { "type": "integer", "format": "int64" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["chunk", "hashlist"], + "properties": { + "chunk": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashes/relationships/chunk" }, + "related": { "type": "string", "default": "/api/v2/ui/hashes/chunk" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "chunk" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "hashlist": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashes/relationships/hashlist" }, + "related": { "type": "string", "default": "/api/v2/ui/hashes/hashlist" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "hashlistId": { "type": "integer" }, + "name": { "type": "string" }, + "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + } + } + } + }, + "HashListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hash" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "hash", + "salt", + "plaintext", + "timeCracked", + "chunkId", + "isCracked", + "crackPos" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "hash": { "type": "string" }, + "salt": { "type": "string" }, + "plaintext": { "type": "string" }, + "timeCracked": { "type": "integer", "format": "int64" }, + "chunkId": { "type": "integer" }, + "isCracked": { "type": "boolean" }, + "crackPos": { "type": "integer", "format": "int64" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["chunk", "hashlist"], + "properties": { + "chunk": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashes/relationships/chunk" }, + "related": { "type": "string", "default": "/api/v2/ui/hashes/chunk" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "chunk" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "hashlist": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashes/relationships/hashlist" }, + "related": { "type": "string", "default": "/api/v2/ui/hashes/hashlist" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "hashlistId": { "type": "integer" }, + "name": { "type": "string" }, + "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + } + } + } + }, + "HashRelationHashlist": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "hashlist" }, + "id": { "type": "integer", "default": 1 } + } + } + } + }, + "HashRelationHashlistGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "hashlist" }, + "id": { "type": "integer", "default": 1 } + } + } + } + }, + "HashlistCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + } + } + }, + "HashlistPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "properties": { + "accessGroupId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "isSecret": { "type": "boolean" }, + "name": { "type": "string" }, + "notes": { "type": "string" } + } + } + } + } + } + }, + "HashlistResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "name": { "type": "string" }, + "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroup", "hashType", "hashes", "hashlists", "tasks"], + "properties": { + "accessGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/accessGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/accessGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "hashType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/hashType" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/hashType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashType" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "hashes": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/hashes" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/hashes" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hash" }, "id": { "type": "integer" } } + } + } + } + }, + "hashlists": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/hashlists" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/hashlists" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + } + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "HashlistSingleResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "name": { "type": "string" }, + "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroup", "hashType", "hashes", "hashlists", "tasks"], + "properties": { + "accessGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/accessGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/accessGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "hashType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/hashType" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/hashType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashType" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "hashes": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/hashes" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/hashes" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hash" }, "id": { "type": "integer" } } + } + } + } + }, + "hashlists": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/hashlists" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/hashlists" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + } + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "HashlistPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "name": { "type": "string" }, + "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + } + } + }, + "HashlistListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "name": { "type": "string" }, + "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroup", "hashType", "hashes", "hashlists", "tasks"], + "properties": { + "accessGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/accessGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/accessGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "hashType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/hashType" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/hashType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashType" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "hashes": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/hashes" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/hashes" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hash" }, "id": { "type": "integer" } } + } + } + } + }, + "hashlists": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/hashlists" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/hashlists" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + } + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashlists/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/hashlists/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "HashlistRelationTasks": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "tasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "HashlistRelationTasksGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "tasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "HashTypeCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "properties": { + "hashTypeId": { "type": "integer" }, + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + } + } + }, + "HashTypePatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + } + } + }, + "HashTypeResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "HashTypePostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + } + } + }, + "HashTypeListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "HealthCheckAgentResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheckAgent" }, + "attributes": { + "type": "object", + "required": ["healthCheckId", "agentId", "status", "cracked", "numGpus", "start", "end", "errors"], + "properties": { + "healthCheckId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "status": { "type": "integer" }, + "cracked": { "type": "integer" }, + "numGpus": { "type": "integer" }, + "start": { "type": "integer", "format": "int64" }, + "end": { "type": "integer", "format": "int64" }, + "errors": { "type": "string" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["agent", "healthCheck"], + "properties": { + "agent": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthcheckagents/relationships/agent" }, + "related": { "type": "string", "default": "/api/v2/ui/healthcheckagents/agent" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "healthCheck": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthcheckagents/relationships/healthCheck" }, + "related": { "type": "string", "default": "/api/v2/ui/healthcheckagents/healthCheck" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "healthCheck" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheck" }, + "attributes": { + "type": "object", + "properties": { + "healthCheckId": { "type": "integer" }, + "time": { "type": "integer", "format": "int64" }, + "status": { "type": "integer" }, + "checkType": { "type": "integer" }, + "hashtypeId": { "type": "integer" }, + "crackerBinaryId": { "type": "integer" }, + "expectedCracks": { "type": "integer" }, + "attackCmd": { "type": "string" } + } + } + } + } + } + } + }, + "HealthCheckAgentListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheckAgent" }, + "attributes": { + "type": "object", + "required": ["healthCheckId", "agentId", "status", "cracked", "numGpus", "start", "end", "errors"], + "properties": { + "healthCheckId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "status": { "type": "integer" }, + "cracked": { "type": "integer" }, + "numGpus": { "type": "integer" }, + "start": { "type": "integer", "format": "int64" }, + "end": { "type": "integer", "format": "int64" }, + "errors": { "type": "string" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["agent", "healthCheck"], + "properties": { + "agent": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthcheckagents/relationships/agent" }, + "related": { "type": "string", "default": "/api/v2/ui/healthcheckagents/agent" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "healthCheck": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthcheckagents/relationships/healthCheck" }, + "related": { "type": "string", "default": "/api/v2/ui/healthcheckagents/healthCheck" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "healthCheck" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheck" }, + "attributes": { + "type": "object", + "properties": { + "healthCheckId": { "type": "integer" }, + "time": { "type": "integer", "format": "int64" }, + "status": { "type": "integer" }, + "checkType": { "type": "integer" }, + "hashtypeId": { "type": "integer" }, + "crackerBinaryId": { "type": "integer" }, + "expectedCracks": { "type": "integer" }, + "attackCmd": { "type": "string" } + } + } + } + } + } + } + }, + "HealthCheckAgentRelationHealthCheck": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "healthCheck" }, + "id": { "type": "integer", "default": 1 } + } + } + } + }, + "HealthCheckAgentRelationHealthCheckGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "healthCheck" }, + "id": { "type": "integer", "default": 1 } + } + } + } + }, + "HealthCheckCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "healthCheck" }, + "attributes": { + "type": "object", + "properties": { + "checkType": { "type": "integer" }, + "hashtypeId": { "type": "integer" }, + "crackerBinaryId": { "type": "integer" } + } + } + } + } + } + }, + "HealthCheckPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "healthCheck" }, + "attributes": { "type": "object", "properties": { "checkType": { "type": "integer" } } } + } + } + } + }, + "HealthCheckResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheck" }, + "attributes": { + "type": "object", + "required": [ + "time", + "status", + "checkType", + "hashtypeId", + "crackerBinaryId", + "expectedCracks", + "attackCmd" + ], + "properties": { + "time": { "type": "integer", "format": "int64" }, + "status": { "type": "integer" }, + "checkType": { "type": "integer" }, + "hashtypeId": { "type": "integer" }, + "crackerBinaryId": { "type": "integer" }, + "expectedCracks": { "type": "integer" }, + "attackCmd": { "type": "string" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["crackerBinary", "hashType", "healthCheckAgents"], + "properties": { + "crackerBinary": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthchecks/relationships/crackerBinary" }, + "related": { "type": "string", "default": "/api/v2/ui/healthchecks/crackerBinary" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinary" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "hashType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthchecks/relationships/hashType" }, + "related": { "type": "string", "default": "/api/v2/ui/healthchecks/hashType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashType" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "healthCheckAgents": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { + "type": "string", + "default": "/api/v2/ui/healthchecks/relationships/healthCheckAgents" + }, + "related": { "type": "string", "default": "/api/v2/ui/healthchecks/healthCheckAgents" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "healthCheckAgent" }, + "id": { "type": "integer" } + } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheckAgents" }, + "attributes": { + "type": "object", + "properties": { + "healthCheckAgentId": { "type": "integer" }, + "healthCheckId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "status": { "type": "integer" }, + "cracked": { "type": "integer" }, + "numGpus": { "type": "integer" }, + "start": { "type": "integer", "format": "int64" }, + "end": { "type": "integer", "format": "int64" }, + "errors": { "type": "string" } + } + } + } + } + } + } + }, + "HealthCheckPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheck" }, + "attributes": { + "type": "object", + "required": [ + "time", + "status", + "checkType", + "hashtypeId", + "crackerBinaryId", + "expectedCracks", + "attackCmd" + ], + "properties": { + "time": { "type": "integer", "format": "int64" }, + "status": { "type": "integer" }, + "checkType": { "type": "integer" }, + "hashtypeId": { "type": "integer" }, + "crackerBinaryId": { "type": "integer" }, + "expectedCracks": { "type": "integer" }, + "attackCmd": { "type": "string" } + } + } + } + } + } + }, + "HealthCheckListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheck" }, + "attributes": { + "type": "object", + "required": [ + "time", + "status", + "checkType", + "hashtypeId", + "crackerBinaryId", + "expectedCracks", + "attackCmd" + ], + "properties": { + "time": { "type": "integer", "format": "int64" }, + "status": { "type": "integer" }, + "checkType": { "type": "integer" }, + "hashtypeId": { "type": "integer" }, + "crackerBinaryId": { "type": "integer" }, + "expectedCracks": { "type": "integer" }, + "attackCmd": { "type": "string" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["crackerBinary", "hashType", "healthCheckAgents"], + "properties": { + "crackerBinary": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthchecks/relationships/crackerBinary" }, + "related": { "type": "string", "default": "/api/v2/ui/healthchecks/crackerBinary" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinary" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "hashType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/healthchecks/relationships/hashType" }, + "related": { "type": "string", "default": "/api/v2/ui/healthchecks/hashType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashType" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "healthCheckAgents": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { + "type": "string", + "default": "/api/v2/ui/healthchecks/relationships/healthCheckAgents" + }, + "related": { "type": "string", "default": "/api/v2/ui/healthchecks/healthCheckAgents" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "healthCheckAgent" }, + "id": { "type": "integer" } + } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheckAgents" }, + "attributes": { + "type": "object", + "properties": { + "healthCheckAgentId": { "type": "integer" }, + "healthCheckId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "status": { "type": "integer" }, + "cracked": { "type": "integer" }, + "numGpus": { "type": "integer" }, + "start": { "type": "integer", "format": "int64" }, + "end": { "type": "integer", "format": "int64" }, + "errors": { "type": "string" } + } + } + } + } + } + } + }, + "HealthCheckRelationHealthCheckAgents": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "healthCheckAgents" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "HealthCheckRelationHealthCheckAgentsGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "healthCheckAgents" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "LogEntryCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "logEntry" }, + "attributes": { "type": "object", "properties": {} } + } + } + } + }, + "LogEntryPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "logEntry" }, + "attributes": { "type": "object", "properties": {} } + } + } + } + }, + "LogEntryResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "logEntry" }, + "attributes": { + "type": "object", + "required": ["issuer", "issuerId", "level", "message", "time"], + "properties": { + "issuer": { "type": "string" }, + "issuerId": { "type": "string" }, + "level": { "type": "string" }, + "message": { "type": "string" }, + "time": { "type": "integer", "format": "int64" } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "LogEntryPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "logEntry" }, + "attributes": { + "type": "object", + "required": ["issuer", "issuerId", "level", "message", "time"], + "properties": { + "issuer": { "type": "string" }, + "issuerId": { "type": "string" }, + "level": { "type": "string" }, + "message": { "type": "string" }, + "time": { "type": "integer", "format": "int64" } + } + } + } + } + } + }, + "LogEntryListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "logEntry" }, + "attributes": { + "type": "object", + "required": ["issuer", "issuerId", "level", "message", "time"], + "properties": { + "issuer": { "type": "string" }, + "issuerId": { "type": "string" }, + "level": { "type": "string" }, + "message": { "type": "string" }, + "time": { "type": "integer", "format": "int64" } + } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "NotificationSettingCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "notificationSetting" }, + "attributes": { + "type": "object", + "properties": { + "actionFilter": { "type": "string" }, + "action": { "type": "string" }, + "notification": { "type": "string" }, + "receiver": { "type": "string" } + } + } + } + } + } + }, + "NotificationSettingPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "notificationSetting" }, + "attributes": { + "type": "object", + "properties": { + "action": { "type": "string" }, + "isActive": { "type": "boolean" }, + "notification": { "type": "string" }, + "receiver": { "type": "string" } + } + } + } + } + } + }, + "NotificationSettingResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "notificationSetting" }, + "attributes": { + "type": "object", + "required": ["action", "objectId", "notification", "userId", "receiver", "isActive"], + "properties": { + "action": { "type": "string" }, + "objectId": { "type": "integer" }, + "notification": { "type": "string" }, + "userId": { "type": "integer" }, + "receiver": { "type": "string" }, + "isActive": { "type": "boolean" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["user"], + "properties": { + "user": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/notifications/relationships/user" }, + "related": { "type": "string", "default": "/api/v2/ui/notifications/user" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "properties": { + "userId": { "type": "integer" }, + "name": { "type": "string" }, + "email": { "type": "string" }, + "passwordHash": { "type": "string" }, + "passwordSalt": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + } + } + } + }, + "NotificationSettingPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "notificationSetting" }, + "attributes": { + "type": "object", + "required": ["action", "objectId", "notification", "userId", "receiver", "isActive"], + "properties": { + "action": { "type": "string" }, + "objectId": { "type": "integer" }, + "notification": { "type": "string" }, + "userId": { "type": "integer" }, + "receiver": { "type": "string" }, + "isActive": { "type": "boolean" } + } + } + } + } + } + }, + "NotificationSettingListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "notificationSetting" }, + "attributes": { + "type": "object", + "required": ["action", "objectId", "notification", "userId", "receiver", "isActive"], + "properties": { + "action": { "type": "string" }, + "objectId": { "type": "integer" }, + "notification": { "type": "string" }, + "userId": { "type": "integer" }, + "receiver": { "type": "string" }, + "isActive": { "type": "boolean" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["user"], + "properties": { + "user": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/notifications/relationships/user" }, + "related": { "type": "string", "default": "/api/v2/ui/notifications/user" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "properties": { + "userId": { "type": "integer" }, + "name": { "type": "string" }, + "email": { "type": "string" }, + "passwordHash": { "type": "string" }, + "passwordSalt": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + } + } + } + }, + "NotificationSettingRelationUser": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "NotificationSettingRelationUserGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "user" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "PreprocessorCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "preprocessor" }, + "attributes": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "url": { "type": "string" }, + "binaryName": { "type": "string" }, + "keyspaceCommand": { "type": "string" }, + "skipCommand": { "type": "string" }, + "limitCommand": { "type": "string" } + } + } + } + } + } + }, + "PreprocessorPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "preprocessor" }, + "attributes": { + "type": "object", + "properties": { + "binaryName": { "type": "string" }, + "keyspaceCommand": { "type": "string" }, + "limitCommand": { "type": "string" }, + "name": { "type": "string" }, + "skipCommand": { "type": "string" }, + "url": { "type": "string" } + } + } + } + } + } + }, + "PreprocessorResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "preprocessor" }, + "attributes": { + "type": "object", + "required": ["name", "url", "binaryName", "keyspaceCommand", "skipCommand", "limitCommand"], + "properties": { + "name": { "type": "string" }, + "url": { "type": "string" }, + "binaryName": { "type": "string" }, + "keyspaceCommand": { "type": "string" }, + "skipCommand": { "type": "string" }, + "limitCommand": { "type": "string" } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "PreprocessorPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "preprocessor" }, + "attributes": { + "type": "object", + "required": ["name", "url", "binaryName", "keyspaceCommand", "skipCommand", "limitCommand"], + "properties": { + "name": { "type": "string" }, + "url": { "type": "string" }, + "binaryName": { "type": "string" }, + "keyspaceCommand": { "type": "string" }, + "skipCommand": { "type": "string" }, + "limitCommand": { "type": "string" } + } + } + } + } + } + }, + "PreprocessorListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "preprocessor" }, + "attributes": { + "type": "object", + "required": ["name", "url", "binaryName", "keyspaceCommand", "skipCommand", "limitCommand"], + "properties": { + "name": { "type": "string" }, + "url": { "type": "string" }, + "binaryName": { "type": "string" }, + "keyspaceCommand": { "type": "string" }, + "skipCommand": { "type": "string" }, + "limitCommand": { "type": "string" } + } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "PretaskCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "pretask" }, + "attributes": { + "type": "object", + "properties": { + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "isMaskImport": { "type": "boolean" }, + "crackerBinaryTypeId": { "type": "integer" } + } + } + } + } + } + }, + "PretaskPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "pretask" }, + "attributes": { + "type": "object", + "properties": { + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "color": { "type": "string" }, + "crackerBinaryTypeId": { "type": "integer" }, + "isCpuTask": { "type": "boolean" }, + "isMaskImport": { "type": "boolean" }, + "isSmall": { "type": "boolean" }, + "maxAgents": { "type": "integer" }, + "priority": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "taskName": { "type": "string" } + } + } + } + } + } + }, + "PretaskResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "pretask" }, + "attributes": { + "type": "object", + "required": [ + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "priority", + "maxAgents", + "isMaskImport", + "crackerBinaryTypeId" + ], + "properties": { + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "isMaskImport": { "type": "boolean" }, + "crackerBinaryTypeId": { "type": "integer" }, + "auxiliaryKeyspace": { "type": "integer" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["pretaskFiles"], + "properties": { + "pretaskFiles": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/pretasks/relationships/pretaskFiles" }, + "related": { "type": "string", "default": "/api/v2/ui/pretasks/pretaskFiles" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "file" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "pretaskFiles" }, + "attributes": { + "type": "object", + "properties": { + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "fileId": { "type": "integer" }, + "filename": { "type": "string" }, + "size": { "type": "integer", "format": "int64" }, + "isSecret": { "type": "boolean" }, + "fileType": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "lineCount": { "type": "integer", "format": "int64" } + } + } + } + } + } + } + }, + "PretaskPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "pretask" }, + "attributes": { + "type": "object", + "required": [ + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "priority", + "maxAgents", + "isMaskImport", + "crackerBinaryTypeId" + ], + "properties": { + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "isMaskImport": { "type": "boolean" }, + "crackerBinaryTypeId": { "type": "integer" }, + "auxiliaryKeyspace": { "type": "integer" } + } + } + } + } + } + }, + "PretaskListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "pretask" }, + "attributes": { + "type": "object", + "required": [ + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "priority", + "maxAgents", + "isMaskImport", + "crackerBinaryTypeId" + ], + "properties": { + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "isMaskImport": { "type": "boolean" }, + "crackerBinaryTypeId": { "type": "integer" }, + "auxiliaryKeyspace": { "type": "integer" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["pretaskFiles"], + "properties": { + "pretaskFiles": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/pretasks/relationships/pretaskFiles" }, + "related": { "type": "string", "default": "/api/v2/ui/pretasks/pretaskFiles" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "file" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "pretaskFiles" }, + "attributes": { + "type": "object", + "properties": { + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "fileId": { "type": "integer" }, + "filename": { "type": "string" }, + "size": { "type": "integer", "format": "int64" }, + "isSecret": { "type": "boolean" }, + "fileType": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "lineCount": { "type": "integer", "format": "int64" } + } + } + } + } + } + } + }, + "PretaskRelationPretaskFiles": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "pretaskFiles" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "PretaskRelationPretaskFilesGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "pretaskFiles" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "SpeedResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "speed" }, + "attributes": { + "type": "object", + "required": ["agentId", "taskId", "speed", "time"], + "properties": { + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" }, + "time": { "type": "integer", "format": "int64" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["agent", "task"], + "properties": { + "agent": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/speeds/relationships/agent" }, + "related": { "type": "string", "default": "/api/v2/ui/speeds/agent" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/speeds/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/speeds/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "SpeedListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "speed" }, + "attributes": { + "type": "object", + "required": ["agentId", "taskId", "speed", "time"], + "properties": { + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" }, + "time": { "type": "integer", "format": "int64" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["agent", "task"], + "properties": { + "agent": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/speeds/relationships/agent" }, + "related": { "type": "string", "default": "/api/v2/ui/speeds/agent" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/speeds/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/speeds/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "SpeedRelationTask": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "SpeedRelationTaskGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer", "default": 1 } } + } + } + }, + "SupertaskCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "supertask" }, + "attributes": { + "type": "object", + "properties": { + "pretasks": { "type": "array", "items": { "type": "integer" } }, + "supertaskName": { "type": "string" } + } + } + } + } + } + }, + "SupertaskPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "supertask" }, + "attributes": { "type": "object", "properties": { "supertaskName": { "type": "string" } } } + } + } + } + }, + "SupertaskResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "supertask" }, + "attributes": { + "type": "object", + "required": ["supertaskName"], + "properties": { "supertaskName": { "type": "string" } } + } + } + }, + "relationships": { + "type": "object", + "required": ["pretasks"], + "properties": { + "pretasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/supertasks/relationships/pretasks" }, + "related": { "type": "string", "default": "/api/v2/ui/supertasks/pretasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "preTask" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "pretasks" }, + "attributes": { + "type": "object", + "properties": { + "files": { "type": "array", "items": { "type": "integer" } }, + "pretaskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "isMaskImport": { "type": "boolean" }, + "crackerBinaryTypeId": { "type": "integer" } + } + } + } + } + } + } + }, + "SupertaskSingleResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "supertask" }, + "attributes": { + "type": "object", + "required": ["supertaskName"], + "properties": { "supertaskName": { "type": "string" } } + } + } + }, + "relationships": { + "type": "object", + "required": ["pretasks"], + "properties": { + "pretasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/supertasks/relationships/pretasks" }, + "related": { "type": "string", "default": "/api/v2/ui/supertasks/pretasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "preTask" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "pretasks" }, + "attributes": { + "type": "object", + "properties": { + "files": { "type": "array", "items": { "type": "integer" } }, + "pretaskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "isMaskImport": { "type": "boolean" }, + "crackerBinaryTypeId": { "type": "integer" } + } + } + } + } + } + } + }, + "SupertaskPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "supertask" }, + "attributes": { + "type": "object", + "required": ["supertaskName"], + "properties": { "supertaskName": { "type": "string" } } + } + } + } + } + }, + "SupertaskListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "supertask" }, + "attributes": { + "type": "object", + "required": ["supertaskName"], + "properties": { "supertaskName": { "type": "string" } } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["pretasks"], + "properties": { + "pretasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/supertasks/relationships/pretasks" }, + "related": { "type": "string", "default": "/api/v2/ui/supertasks/pretasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "preTask" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "pretasks" }, + "attributes": { + "type": "object", + "properties": { + "files": { "type": "array", "items": { "type": "integer" } }, + "pretaskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "isMaskImport": { "type": "boolean" }, + "crackerBinaryTypeId": { "type": "integer" } + } + } + } + } + } + } + }, + "SupertaskRelationPretasks": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "pretasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "SupertaskRelationPretasksGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "pretasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "TaskCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + }, + "TaskPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "properties": { + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "color": { "type": "string" }, + "isArchived": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "isSmall": { "type": "boolean" }, + "maxAgents": { "type": "integer" }, + "notes": { "type": "string" }, + "priority": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "taskName": { "type": "string" } + } + } + } + } + } + }, + "TaskResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" }, + "activeAgents": { "type": "integer" }, + "dispatched": { "type": "string" }, + "searched": { "type": "string" }, + "status": { "type": "integer", "enum": [0, 1, 2, 3] }, + "estimatedTime": { "type": "integer" }, + "timeSpent": { "type": "integer" }, + "currentSpeed": { "type": "integer" }, + "cprogress": { "type": "integer" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["assignedAgents", "crackerBinary", "crackerBinaryType", "files", "hashlist", "speeds"], + "properties": { + "assignedAgents": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/assignedAgents" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/assignedAgents" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + } + } + } + }, + "crackerBinary": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/crackerBinary" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/crackerBinary" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinary" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "crackerBinaryType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/crackerBinaryType" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/crackerBinaryType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinaryType" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "files": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/files" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/files" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "file" }, "id": { "type": "integer" } } + } + } + } + }, + "hashlist": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/hashlist" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/hashlist" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "speeds": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/speeds" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/speeds" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "speed" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "speeds" }, + "attributes": { + "type": "object", + "properties": { + "speedId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" }, + "time": { "type": "integer", "format": "int64" } + } + } + } + } + } + } + }, + "TaskPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" }, + "activeAgents": { "type": "integer" }, + "dispatched": { "type": "string" }, + "searched": { "type": "string" }, + "status": { "type": "integer", "enum": [0, 1, 2, 3] }, + "estimatedTime": { "type": "integer" }, + "timeSpent": { "type": "integer" }, + "currentSpeed": { "type": "integer" }, + "cprogress": { "type": "integer" } + } + } + } + } + } + }, + "TaskListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" }, + "activeAgents": { "type": "integer" }, + "dispatched": { "type": "string" }, + "searched": { "type": "string" }, + "status": { "type": "integer", "enum": [0, 1, 2, 3] }, + "estimatedTime": { "type": "integer" }, + "timeSpent": { "type": "integer" }, + "currentSpeed": { "type": "integer" }, + "cprogress": { "type": "integer" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["assignedAgents", "crackerBinary", "crackerBinaryType", "files", "hashlist", "speeds"], + "properties": { + "assignedAgents": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/assignedAgents" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/assignedAgents" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "agent" }, "id": { "type": "integer" } } + } + } + } + }, + "crackerBinary": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/crackerBinary" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/crackerBinary" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinary" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "crackerBinaryType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/crackerBinaryType" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/crackerBinaryType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "crackerBinaryType" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "files": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/files" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/files" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "file" }, "id": { "type": "integer" } } + } + } + } + }, + "hashlist": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/hashlist" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/hashlist" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "speeds": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/tasks/relationships/speeds" }, + "related": { "type": "string", "default": "/api/v2/ui/tasks/speeds" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "speed" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "speeds" }, + "attributes": { + "type": "object", + "properties": { + "speedId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" }, + "time": { "type": "integer", "format": "int64" } + } + } + } + } + } + } + }, + "TaskRelationSpeeds": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "speeds" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "TaskRelationSpeedsGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "speeds" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "TaskWrapperPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "taskWrapper" }, + "attributes": { + "type": "object", + "properties": { + "accessGroupId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "maxAgents": { "type": "integer" }, + "priority": { "type": "integer" }, + "taskWrapperName": { "type": "string" } + } + } + } + } + } + }, + "TaskWrapperResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "taskWrapper" }, + "attributes": { + "type": "object", + "required": [ + "priority", + "maxAgents", + "taskType", + "hashlistId", + "accessGroupId", + "taskWrapperName", + "isArchived", + "cracked" + ], + "properties": { + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "taskType": { "type": "integer", "enum": [0, 1] }, + "hashlistId": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "taskWrapperName": { "type": "string" }, + "isArchived": { "type": "boolean" }, + "cracked": { "type": "integer" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroup", "hashType", "hashlist", "task", "tasks"], + "properties": { + "accessGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/accessGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/accessGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "hashType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/hashType" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/hashType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashType" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "hashlist": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/hashlist" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/hashlist" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "TaskWrapperSingleResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "taskWrapper" }, + "attributes": { + "type": "object", + "required": [ + "priority", + "maxAgents", + "taskType", + "hashlistId", + "accessGroupId", + "taskWrapperName", + "isArchived", + "cracked" + ], + "properties": { + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "taskType": { "type": "integer", "enum": [0, 1] }, + "hashlistId": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "taskWrapperName": { "type": "string" }, + "isArchived": { "type": "boolean" }, + "cracked": { "type": "integer" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroup", "hashType", "hashlist", "task", "tasks"], + "properties": { + "accessGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/accessGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/accessGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "hashType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/hashType" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/hashType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashType" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "hashlist": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/hashlist" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/hashlist" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "TaskWrapperPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "taskWrapper" }, + "attributes": { + "type": "object", + "required": [ + "priority", + "maxAgents", + "taskType", + "hashlistId", + "accessGroupId", + "taskWrapperName", + "isArchived", + "cracked" + ], + "properties": { + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "taskType": { "type": "integer", "enum": [0, 1] }, + "hashlistId": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "taskWrapperName": { "type": "string" }, + "isArchived": { "type": "boolean" }, + "cracked": { "type": "integer" } + } + } + } + } + } + }, + "TaskWrapperListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "taskWrapper" }, + "attributes": { + "type": "object", + "required": [ + "priority", + "maxAgents", + "taskType", + "hashlistId", + "accessGroupId", + "taskWrapperName", + "isArchived", + "cracked" + ], + "properties": { + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "taskType": { "type": "integer", "enum": [0, 1] }, + "hashlistId": { "type": "integer" }, + "accessGroupId": { "type": "integer" }, + "taskWrapperName": { "type": "string" }, + "isArchived": { "type": "boolean" }, + "cracked": { "type": "integer" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroup", "hashType", "hashlist", "task", "tasks"], + "properties": { + "accessGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/accessGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/accessGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + }, + "hashType": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/hashType" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/hashType" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashType" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "hashlist": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/hashlist" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/hashlist" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "hashlist" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "task": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/task" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/task" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + }, + { "type": "null" } + ] + } + } + }, + "tasks": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/taskwrappers/relationships/tasks" }, + "related": { "type": "string", "default": "/api/v2/ui/taskwrappers/tasks" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { "type": { "type": "string", "const": "task" }, "id": { "type": "integer" } } + } + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskId": { "type": "integer" }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + } + } + }, + "TaskWrapperRelationTasks": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "tasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "TaskWrapperRelationTasksGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "tasks" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "UserCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "globalPermissionGroupId": { "type": "integer" } + } + } + } + } + } + }, + "UserPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "properties": { + "email": { "type": "string" }, + "globalPermissionGroupId": { "type": "integer" }, + "isValid": { "type": "boolean" }, + "sessionLifetime": { "type": "integer" } + } + } + } + } + } + }, + "UserResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/users?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroups", "globalPermissionGroup"], + "properties": { + "accessGroups": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/users/relationships/accessGroups" }, + "related": { "type": "string", "default": "/api/v2/ui/users/accessGroups" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + } + } + } + }, + "globalPermissionGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/users/relationships/globalPermissionGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/users/globalPermissionGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "globalPermissionGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroups" }, + "attributes": { + "type": "object", + "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + } + } + } + } + } + }, + "UserPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + } + } + }, + "UserListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/users?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + } + }, + "relationships": { + "type": "object", + "required": ["accessGroups", "globalPermissionGroup"], + "properties": { + "accessGroups": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/users/relationships/accessGroups" }, + "related": { "type": "string", "default": "/api/v2/ui/users/accessGroups" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroup" }, + "id": { "type": "integer" } + } + } + } + } + }, + "globalPermissionGroup": { + "type": "object", + "required": ["links"], + "properties": { + "links": { + "type": "object", + "required": ["self", "related"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/users/relationships/globalPermissionGroup" }, + "related": { "type": "string", "default": "/api/v2/ui/users/globalPermissionGroup" } + } + }, + "data": { + "oneOf": [ + { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "globalPermissionGroup" }, + "id": { "type": "integer" } + } + }, + { "type": "null" } + ] + } + } + } + } + }, + "included": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroups" }, + "attributes": { + "type": "object", + "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + } + } + } + } + } + }, + "UserRelationAccessGroups": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroups" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "UserRelationAccessGroupsGetResponse": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["type", "id"], + "properties": { + "type": { "type": "string", "const": "accessGroups" }, + "id": { "type": "integer", "default": 1 } + } + } + } + } + }, + "RegVoucherCreate": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "regVoucher" }, + "attributes": { "type": "object", "properties": { "voucher": { "type": "string" } } } + } + } + } + }, + "RegVoucherPatch": { + "type": "object", + "required": ["data"], + "properties": { + "data": { + "type": "object", + "required": ["type", "attributes"], + "properties": { + "type": { "type": "string", "const": "regVoucher" }, + "attributes": { "type": "object", "properties": { "voucher": { "type": "string" } } } + } + } + } + }, + "RegVoucherResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "regVoucher" }, + "attributes": { + "type": "object", + "required": ["voucher", "time"], + "properties": { "voucher": { "type": "string" }, "time": { "type": "integer", "format": "int64" } } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "RegVoucherPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "data": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "regVoucher" }, + "attributes": { + "type": "object", + "required": ["voucher", "time"], + "properties": { "voucher": { "type": "string" }, "time": { "type": "integer", "format": "int64" } } + } + } + } + } + }, + "RegVoucherListResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, + "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + } + }, + "links": { + "type": "object", + "required": ["self"], + "properties": { + "self": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25" }, + "first": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=0" }, + "last": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=500" }, + "next": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=25" }, + "previous": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=25" } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "regVoucher" }, + "attributes": { + "type": "object", + "required": ["voucher", "time"], + "properties": { "voucher": { "type": "string" }, "time": { "type": "integer", "format": "int64" } } + } + } + } + }, + "relationships": { "type": "object", "required": [], "properties": {} }, + "included": { "type": "array", "items": { "type": "object", "properties": {} } } + } + }, + "AbortChunkHelperAPI": { "type": "object", "properties": { "chunkId": { "type": "integer" } } }, + "AbortChunkHelperAPIResponse": { + "type": "array", + "items": { "type": "object", "properties": { "Abort": { "type": "string", "default": "Success" } } } + }, + "AssignAgentHelperAPI": { + "type": "object", + "properties": { "agentId": { "type": "integer" }, "taskId": { "type": "integer" } } + }, + "AssignAgentHelperAPIResponse": { + "type": "array", + "items": { "type": "object", "properties": { "Assign": { "type": "string", "default": "Success" } } } + }, + "BulkSupertaskBuilderHelperAPI": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "isCpu": { "type": "boolean" }, + "isSmall": { "type": "boolean" }, + "crackerBinaryTypeId": { "type": "integer" }, + "benchtype": { "type": "string" }, + "command": { "type": "string" }, + "maxAgents": { "type": "integer" }, + "basefiles": { "type": "array", "items": { "type": "integer" } }, + "iterfiles": { "type": "array", "items": { "type": "integer" } } + } + }, + "ChangeOwnPasswordHelperAPI": { + "type": "object", + "properties": { + "oldPassword": { "type": "string" }, + "newPassword": { "type": "string" }, + "confirmPassword": { "type": "string" } + } + }, + "ChangeOwnPasswordHelperAPIResponse": { + "type": "array", + "items": { + "type": "object", + "properties": { "Change password": { "type": "string", "default": "Password succesfully updated!" } } + } + }, + "CreateSuperHashlistHelperAPI": { + "type": "object", + "properties": { + "hashlistIds": { "type": "array", "items": { "type": "integer" } }, + "name": { "type": "string" } + } + }, + "CreateSupertaskHelperAPI": { + "type": "object", + "properties": { + "supertaskTemplateId": { "type": "integer" }, + "hashlistId": { "type": "integer" }, + "crackerVersionId": { "type": "integer" } + } + }, + "ExportCrackedHashesHelperAPI": { "type": "object", "properties": { "hashlistId": { "type": "integer" } } }, + "ExportLeftHashesHelperAPI": { "type": "object", "properties": { "hashlistId": { "type": "integer" } } }, + "ExportWordlistHelperAPI": { "type": "object", "properties": { "hashlistId": { "type": "integer" } } }, + "ImportCrackedHashesHelperAPI": { + "type": "object", + "properties": { + "hashlistId": { "type": "integer" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "separator": { "type": "string" }, + "overwrite": { "type": "integer" } + } + }, + "ImportCrackedHashesHelperAPIResponse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "totalLines": { "type": "integer", "default": 100 }, + "newCracked": { "type": "integer", "default": 5 }, + "alreadyCracked": { "type": "integer", "default": 2 }, + "invalid": { "type": "integer", "default": 1 }, + "notFound": { "type": "integer", "default": 1 }, + "processTime": { "type": "integer", "default": 60 }, + "tooLongPlaintexts": { "type": "integer", "default": 4 } + } + } + }, + "ImportFileHelperAPI": { "type": "object", "properties": {} }, + "MaskSupertaskBuilderHelperAPI": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "isCpu": { "type": "boolean" }, + "isSmall": { "type": "boolean" }, + "optimized": { "type": "boolean" }, + "crackerBinaryTypeId": { "type": "integer" }, + "benchtype": { "type": "string" }, + "masks": { "type": "string" }, + "maxAgents": { "type": "integer" } + } + }, + "PurgeTaskHelperAPI": { "type": "object", "properties": { "taskId": { "type": "integer" } } }, + "PurgeTaskHelperAPIResponse": { + "type": "array", + "items": { "type": "object", "properties": { "Purge": { "type": "string", "default": "Success" } } } + }, + "RebuildChunkCacheHelperAPI": { "type": "object", "properties": {} }, + "RebuildChunkCacheHelperAPIResponse": { + "type": "array", + "items": { "type": "object", "properties": { "Rebuild": { "type": "string", "default": "Success" } } } + }, + "RecountFileLinesHelperAPI": { "type": "object", "properties": { "fileId": { "type": "integer" } } }, + "RescanGlobalFilesHelperAPI": { "type": "object", "properties": {} }, + "RescanGlobalFilesHelperAPIResponse": { + "type": "array", + "items": { "type": "object", "properties": { "Rescan": { "type": "string", "default": "Success" } } } + }, + "ResetChunkHelperAPI": { "type": "object", "properties": { "chunkId": { "type": "integer" } } }, + "ResetChunkHelperAPIResponse": { + "type": "array", + "items": { "type": "object", "properties": { "Reset": { "type": "string", "default": "Success" } } } + }, + "ResetUserPasswordHelperAPI": { + "type": "object", + "properties": { "email": { "type": "string" }, "username": { "type": "string" } } + }, + "ResetUserPasswordHelperAPIResponse": { + "type": "array", + "items": { "type": "object", "properties": { "Reset": { "type": "string", "default": "Success" } } } + }, + "SearchHashesHelperAPI": { + "type": "object", + "properties": { + "searchData": { "type": "string" }, + "separator": { "type": "string" }, + "isSalted": { "type": "boolean" } + } + }, + "SearchHashesHelperAPIResponse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "0": { "type": "object", "default": { "found": false, "query": "12345678" } }, + "1": { + "type": "object", + "default": { + "found": true, + "query": "54321", + "matches": [ + { + "type": "hash", + "id": 552, + "attributes": { + "hashlistId": 5, + "hash": "7682543218768", + "salt": "", + "plaintext": "", + "timeCracked": 0, + "chunkId": null, + "isCracked": false, + "crackPos": 0 + }, + "links": { "self": "/api/v2/ui/hashes/552" }, + "relationships": { + "chunk": { + "links": { + "self": "/api/v2/ui/hashes/552/relationships/chunk", + "related": "/api/v2/ui/hashes/552/chunk" + } + }, + "hashlist": { + "links": { + "self": "/api/v2/ui/hashes/552/relationships/hashlist", + "related": "/api/v2/ui/hashes/552/hashlist" + } + } + } + }, + { + "type": "hash", + "id": 1, + "attributes": { + "hashlistId": 5, + "hash": "54321768671", + "salt": "", + "plaintext": "", + "timeCracked": 0, + "chunkId": null, + "isCracked": false, + "crackPos": 0 + }, + "links": { "self": "/api/v2/ui/hashes/1" }, + "relationships": { + "chunk": { + "links": { + "self": "/api/v2/ui/hashes/1/relationships/chunk", + "related": "/api/v2/ui/hashes/1/chunk" + } + }, + "hashlist": { + "links": { + "self": "/api/v2/ui/hashes/1/relationships/hashlist", + "related": "/api/v2/ui/hashes/1/hashlist" + } + } + } + } + ] + } + } + } + } + }, + "SetUserPasswordHelperAPI": { + "type": "object", + "properties": { "userId": { "type": "integer" }, "password": { "type": "string" } } + }, + "SetUserPasswordHelperAPIResponse": { + "type": "array", + "items": { "type": "object", "properties": { "Set password": { "type": "string", "default": "Success" } } } + }, + "UnassignAgentHelperAPI": { "type": "object", "properties": { "agentId": { "type": "integer" } } }, + "UnassignAgentHelperAPIResponse": { + "type": "array", + "items": { "type": "object", "properties": { "Unassign": { "type": "string", "default": "Success" } } } + }, + "Token": { + "type": "object", + "required": ["token", "expires"], + "properties": { "token": { "type": "string" }, "expires": { "type": "integer" } }, + "additionalProperties": false + }, + "TokenRequest": { "type": "array", "items": { "type": "string", "example": "role.all" } } + }, + "securitySchemes": { + "bearerAuth": { + "type": "http", + "description": "JWT Authorization header using the Bearer scheme.", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "basicAuth": { "type": "http", "description": "Basic Authorization header.", "scheme": "basic" } + } + }, + "tags": [ + { "name": "AccessGroups" }, + { "name": "AgentBinarys" }, + { "name": "AgentErrors" }, + { "name": "AgentStats" }, + { "name": "Agents" }, + { "name": "Assignments" }, + { "name": "Chunks" }, + { "name": "ConfigSections" }, + { "name": "Configs" }, + { "name": "CrackerBinaryTypes" }, + { "name": "CrackerBinarys" }, + { "name": "Files" }, + { "name": "HashTypes" }, + { "name": "Hashlists" }, + { "name": "Hashs" }, + { "name": "HealthCheckAgents" }, + { "name": "HealthChecks" }, + { "name": "Helpers" }, + { "name": "JwtApiKeys" }, + { "name": "LogEntrys" }, + { "name": "Login" }, + { "name": "NotificationSettings" }, + { "name": "Preprocessors" }, + { "name": "Pretasks" }, + { "name": "RegVouchers" }, + { "name": "RightGroups" }, + { "name": "Speeds" }, + { "name": "Supertasks" }, + { "name": "TaskWrappers" }, + { "name": "Tasks" }, + { "name": "Users" } + ] +} diff --git a/package.json b/package.json index d0b547809..481eddd8d 100644 --- a/package.json +++ b/package.json @@ -17,8 +17,8 @@ "lint": "ng lint", "check-types": "tsc --noEmit", "clean": "rm -rf package-lock.json npm-shrinkwrap.json node_modules;npm cache clean --force;npm cache verify", - "fetch:openapi": "curl -s -o openapi.json http://localhost:8080/api/v2/openapi-compliant.json", - "generate:api": "openapi-ts -f openapi-ts.config.mjs", + "fetch:openapi": "curl -s -o openapi.json http://localhost:8080/api/v2/openapi-compliant.json && npx prettier --write openapi.json", + "generate:api": "openapi-ts -f openapi-ts.config.mjs && node scripts/postprocess-zod.mjs", "generate": "npm run fetch:openapi && npm run generate:api", "lint:openapi": "redocly lint openapi.json && spectral lint -D openapi.json" }, diff --git a/scripts/postprocess-zod.mjs b/scripts/postprocess-zod.mjs new file mode 100644 index 000000000..07c038aa1 --- /dev/null +++ b/scripts/postprocess-zod.mjs @@ -0,0 +1,28 @@ +/** + * Post-process generated zod.gen.ts to fix bigint → number. + * + * The Zod plugin hardcodes z.coerce.bigint() for int64 fields, + * but our J* interfaces use `number`. This script replaces all + * bigint validator chains with plain z.number(). + */ +import { readFileSync, writeFileSync } from 'fs'; + +const file = './src/generated/api/zod.gen.ts'; +let content = readFileSync(file, 'utf-8'); + +const before = (content.match(/z\.coerce\.bigint\(\)/g) || []).length; + +// Replace the full bigint chain (with int64 min/max) with z.number() +content = content.replaceAll( + `z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' })`, + 'z.number()' +); + +const after = (content.match(/z\.coerce\.bigint\(\)/g) || []).length; + +writeFileSync(file, content); +console.log(`Replaced ${before - after} bigint chains with z.number() (${after} remaining)`); + +if (after > 0) { + console.warn('Warning: some bigint patterns were not replaced — check for variant chains'); +} diff --git a/src/app/account/settings/acc-settings/acc-settings.component.ts b/src/app/account/settings/acc-settings/acc-settings.component.ts index d5b8cead3..6a55e9189 100644 --- a/src/app/account/settings/acc-settings/acc-settings.component.ts +++ b/src/app/account/settings/acc-settings/acc-settings.component.ts @@ -9,6 +9,8 @@ import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; +import { JUser } from '@models/user.model'; + import { SERV } from '@services/main.config'; import { changeOwnPasswordResponseSchema } from '@src/app/account/settings/acc-settings/acc-settings.schema'; @@ -222,7 +224,7 @@ export class AccountSettingsComponent implements OnInit, OnDestroy { private loadUserSettings() { this.subscriptions.push( this.gs.ghelper(SERV.HELPER, 'currentUser').subscribe((response) => { - const users = new JsonAPISerializer().deserialize(response, zUserResponse); + const users: JUser = new JsonAPISerializer().deserialize(response, zUserResponse); const user = users[0]; this.form.patchValue({ diff --git a/src/app/agents/edit-agent/edit-agent.component.ts b/src/app/agents/edit-agent/edit-agent.component.ts index 77d3b7f3b..7cf967c60 100644 --- a/src/app/agents/edit-agent/edit-agent.component.ts +++ b/src/app/agents/edit-agent/edit-agent.component.ts @@ -10,10 +10,10 @@ import { ActivatedRoute, Router } from '@angular/router'; import { JAgentAssignment } from '@models/agent-assignment.model'; import { JAgent } from '@models/agent.model'; import { JChunk } from '@models/chunk.model'; -import { FilterType } from '@models/request-params.model'; -import { ResponseWrapper } from '@models/response.model'; import { JTask } from '@models/task.model'; import { JUser } from '@models/user.model'; +import { FilterType } from '@models/request-params.model'; +import { ResponseWrapper } from '@models/response.model'; import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; @@ -25,6 +25,8 @@ import { AutoTitleService } from '@services/shared/autotitle.service'; import { UIConfigService } from '@services/shared/storage.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; +import { zAgentResponse, zChunkListResponse, zTaskListResponse, zUserListResponse } from '@generated/api/zod.gen'; + import { EditAgentForm, UpdateAssignmentForm, @@ -184,8 +186,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { }) ); - const responseBody = { data: response.data, included: response.included }; - const agent = this.serializer.deserialize(responseBody); + const agent: JAgent = this.serializer.deserialize(response, zAgentResponse) as JAgent; this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); if (this.agentRoleService.hasRole('readAssignment')) { @@ -208,8 +209,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { if (httpErr?.status && httpErr.status >= 500) { const response = await firstValueFrom(this.gs.get(SERV.AGENTS, this.editedAgentIndex)); - const responseBody = { data: response.data, included: response.included }; - const agent = this.serializer.deserialize(responseBody); + const agent: JAgent = this.serializer.deserialize(response, zAgentResponse) as JAgent; this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); return; @@ -232,8 +232,8 @@ export class EditAgentComponent implements OnInit, OnDestroy { const loadTasksSubscription$ = this.gs .ghelper(SERV.HELPER, 'getBestTasksAgent?agent=' + this.editedAgentIndex) .subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const tasks = this.serializer.deserialize(responseBody); + console.log('RESPONSE: ', response); + const tasks: JTask[] = this.serializer.deserialize(response, zTaskListResponse); this.assignTasks = transformSelectOptions(tasks, TASKS_FIELD_MAPPING); }); @@ -246,9 +246,8 @@ export class EditAgentComponent implements OnInit, OnDestroy { */ private loadSelectUsers(): void { const loadUsersSubscription$ = this.gs.getAll(SERV.USERS).subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; this.selectUsers = transformSelectOptions( - this.serializer.deserialize(responseBody), + this.serializer.deserialize(response, zUserListResponse) as JUser[], DEFAULT_FIELD_MAPPING ); }); @@ -305,12 +304,10 @@ export class EditAgentComponent implements OnInit, OnDestroy { .create(); const chunksSub$ = this.gs.getAll(SERV.CHUNKS, chunkRequestParams).subscribe((response: ResponseWrapper) => { - const chunksBody = { data: response.data, included: response.included }; - const chunks = this.serializer.deserialize(chunksBody); + const chunks: JChunk[] = this.serializer.deserialize(response, zChunkListResponse); const tasksSub$ = this.gs.getAll(SERV.TASKS).subscribe((tasksResponse: ResponseWrapper) => { - const tasksBody = { data: tasksResponse.data, included: tasksResponse.included }; - const tasks = this.serializer.deserialize(tasksBody); + const tasks: JTask[] = this.serializer.deserialize(tasksResponse, zTaskListResponse); this.getchunks = chunks.map((chunk) => { const matchedTask = tasks.find((task) => task.id === chunk.taskId); diff --git a/src/app/agents/edit-agent/edit-agent.form.ts b/src/app/agents/edit-agent/edit-agent.form.ts index d35652894..d2676db82 100644 --- a/src/app/agents/edit-agent/edit-agent.form.ts +++ b/src/app/agents/edit-agent/edit-agent.form.ts @@ -10,7 +10,7 @@ export interface EditAgentForm { isActive: FormControl; userId: FormControl; agentName: FormControl; - cpuOnly: FormControl; + cpuOnly: FormControl; cmdPars: FormControl; ignoreErrors: FormControl; isTrusted: FormControl; diff --git a/src/app/agents/new-agent/new-agent.component.ts b/src/app/agents/new-agent/new-agent.component.ts index 7ef27ece0..a65224a36 100644 --- a/src/app/agents/new-agent/new-agent.component.ts +++ b/src/app/agents/new-agent/new-agent.component.ts @@ -9,16 +9,19 @@ import { Component, OnDestroy, OnInit, ViewChild, inject } from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; import { Router } from '@angular/router'; +import { JConfig } from '@models/configs.model'; + import { SERV } from '@services/main.config'; import { AlertService } from '@services/shared/alert.service'; import { VoucherForm } from '@src/app/agents/new-agent/new-agent.form'; -import { JConfig } from '@src/app/core/_models/configs.model'; import { FilterType } from '@src/app/core/_models/request-params.model'; import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; import { environment } from '@src/environments/environment'; +import { zConfigListResponse } from '@generated/api/zod.gen'; + @Component({ selector: 'app-new-agent', templateUrl: './new-agent.component.html', @@ -66,10 +69,7 @@ export class NewAgentComponent implements OnInit, OnDestroy { this.gs.getAll(SERV.CONFIGS, params).subscribe({ next: (response) => { try { - const configs = new JsonAPISerializer().deserialize({ - data: response?.data, - included: response?.included - }); + const configs: JConfig[] = new JsonAPISerializer().deserialize(response, zConfigListResponse); const setting = configs?.find((config) => config.item === 'voucherDeletion'); const rawValue = setting?.value ?? ''; const normalized = String(rawValue).toLowerCase(); diff --git a/src/app/config/engine/preprocessors/new_edit-preprocessor/new_edit-preprocessor.component.ts b/src/app/config/engine/preprocessors/new_edit-preprocessor/new_edit-preprocessor.component.ts index 0eb2cdb34..d3f68e449 100644 --- a/src/app/config/engine/preprocessors/new_edit-preprocessor/new_edit-preprocessor.component.ts +++ b/src/app/config/engine/preprocessors/new_edit-preprocessor/new_edit-preprocessor.component.ts @@ -5,7 +5,6 @@ import { Component, OnInit, inject } from '@angular/core'; import { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { ActivatedRoute, Router } from '@angular/router'; -import { JPreprocessor } from '@models/preprocessor.model'; import { ResponseWrapper } from '@models/response.model'; import { JsonAPISerializer } from '@services/api/serializer-service'; @@ -23,6 +22,7 @@ import { ButtonsModule } from '@src/app/shared/buttons/buttons.module'; import { GridModule } from '@src/app/shared/grid-containers/grid.module'; import { InputModule } from '@src/app/shared/input/input.module'; import { PageTitleModule } from '@src/app/shared/page-headers/page-title.module'; +import { zPreprocessorResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-new-preprocessor', @@ -113,10 +113,7 @@ export class NewEditPreprocessorComponent implements OnInit { const response = await firstValueFrom(this.http.get(url)); - const preprocessor = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const preprocessor = new JsonAPISerializer().deserialize(response, zPreprocessorResponse); this.newEditPreprocessorForm.patchValue({ name: preprocessor.name, diff --git a/src/app/config/health-checks/new-health-check/new-health-checks.component.ts b/src/app/config/health-checks/new-health-check/new-health-checks.component.ts index 9e327c573..a6d5190dc 100644 --- a/src/app/config/health-checks/new-health-check/new-health-checks.component.ts +++ b/src/app/config/health-checks/new-health-check/new-health-checks.component.ts @@ -2,7 +2,7 @@ import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; -import { JCrackerBinary, JCrackerBinaryType } from '@models/cracker-binary.model'; +import { JCrackerBinaryType, JCrackerBinary } from '@models/cracker-binary.model'; import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; @@ -16,6 +16,7 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { attack, hashtype } from '@src/app/core/_constants/healthchecks.config'; import { CRACKER_TYPE_FIELD_MAPPING, CRACKER_VERSION_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; +import { zCrackerBinaryListResponse, zCrackerBinaryTypeListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-new-health-checks', @@ -85,10 +86,7 @@ export class NewHealthChecksComponent implements OnInit, OnDestroy { */ loadData(): void { const loadSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerTypes = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const crackerTypes: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); }); this.unsubscribeService.add(loadSubscription$); @@ -105,10 +103,7 @@ export class NewHealthChecksComponent implements OnInit, OnDestroy { const filter = new Array({ field: 'crackerBinaryTypeId', operator: FilterType.EQUAL, value: id }); const params = { filter: filter }; const onChangeBinarySubscription$ = this.gs.getAll(SERV.CRACKERS, params).subscribe((response: ResponseWrapper) => { - const crackers = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const crackers: JCrackerBinary[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryListResponse); this.selectCrackerversions = transformSelectOptions(crackers, CRACKER_VERSION_FIELD_MAPPING); const lastItem = this.selectCrackerversions.slice(-1)[0]['id']; this.form.get('crackerBinaryId').patchValue(lastItem); diff --git a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts index 860a663c8..1c7ce1fa0 100644 --- a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts +++ b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts @@ -14,6 +14,7 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { UISettingsUtilityClass } from '@src/app/shared/utils/config'; import { formatUnixTimestamp } from '@src/app/shared/utils/datetime'; +import { zHealthCheckResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-view-health-checks', @@ -79,10 +80,7 @@ export class ViewHealthChecksComponent implements OnInit, OnDestroy { const loadSubscription$ = this.gs .get(SERV.HEALTH_CHECKS, this.viewedHealthCIndex) .subscribe((response: ResponseWrapper) => { - this.healthc = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + this.healthc = new JsonAPISerializer().deserialize(response, zHealthCheckResponse) as JHealthCheck; }); this.unsubscribeService.add(loadSubscription$); } diff --git a/src/app/core/_components/forms/custom-forms/superhashlist/new-superhashlist/new-superhashlist.component.ts b/src/app/core/_components/forms/custom-forms/superhashlist/new-superhashlist/new-superhashlist.component.ts index f705afb1a..13c7c10d6 100644 --- a/src/app/core/_components/forms/custom-forms/superhashlist/new-superhashlist/new-superhashlist.component.ts +++ b/src/app/core/_components/forms/custom-forms/superhashlist/new-superhashlist/new-superhashlist.component.ts @@ -2,7 +2,6 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnIni import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; -import { JHashlist } from '@models/hashlist.model'; import { FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; @@ -14,6 +13,8 @@ import { AlertService } from '@services/shared/alert.service'; import { AutoTitleService } from '@services/shared/autotitle.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; +import { zHashlistListResponse } from '@generated/api/zod.gen'; + /** * Represents the NewSuperhashlistComponent responsible for creating a new SuperHashlist. */ @@ -84,10 +85,7 @@ export class NewSuperhashlistComponent implements OnInit, OnDestroy { const loadSubscription$ = this.globalService .getAll(SERV.HASHLISTS, requestParams) .subscribe((response: ResponseWrapper) => { - this.selectHashlists = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + this.selectHashlists = new JsonAPISerializer().deserialize(response, zHashlistListResponse); this.isLoading = false; this.changeDetectorRef.detectChanges(); }); diff --git a/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts b/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts index 4e9663808..4d7f03892 100644 --- a/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts +++ b/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts @@ -14,6 +14,7 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { PRETASKS_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; +import { zPretaskListResponse } from '@generated/api/zod.gen'; /** * Component class to create a new supertask @@ -80,10 +81,7 @@ export class NewSupertasksComponent implements OnInit, OnDestroy { */ loadData(): void { const loadSubscription$ = this.gs.getAll(SERV.PRETASKS).subscribe((response: ResponseWrapper) => { - const pretasks = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const pretasks: JPretask[] = new JsonAPISerializer().deserialize(response, zPretaskListResponse); this.selectPretasks = transformSelectOptions(pretasks, PRETASKS_FIELD_MAPPING); this.isLoading = false; this.changeDetectorRef.detectChanges(); diff --git a/src/app/core/_components/forms/simple-forms/formconfig.component.ts b/src/app/core/_components/forms/simple-forms/formconfig.component.ts index 95f75af05..00189f615 100644 --- a/src/app/core/_components/forms/simple-forms/formconfig.component.ts +++ b/src/app/core/_components/forms/simple-forms/formconfig.component.ts @@ -18,6 +18,8 @@ import { AutoTitleService } from '@services/shared/autotitle.service'; import { UIConfigService } from '@services/shared/storage.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; +import { zConfigListResponse } from '@generated/api/zod.gen'; + type ConfigValues = Record; type ConfigIds = Record; @@ -135,8 +137,7 @@ export class FormConfigComponent implements OnInit, OnDestroy { this.mySubscription = this.gs .getAll(this.serviceConfig, { page: { size: 500 } }) .subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const config = this.serializer.deserialize(responseBody); + const config: JConfig[] = this.serializer.deserialize(response, zConfigListResponse); this.formValues = config.reduce((configValues, item) => { let value: string | boolean = item.value; diff --git a/src/app/core/_datasources/access-groups-expand.datasource.ts b/src/app/core/_datasources/access-groups-expand.datasource.ts index 0d137dc65..ff9cc9ca7 100644 --- a/src/app/core/_datasources/access-groups-expand.datasource.ts +++ b/src/app/core/_datasources/access-groups-expand.datasource.ts @@ -5,7 +5,6 @@ import { JAgent } from '@models/agent.model'; import { ResponseWrapper } from '@models/response.model'; import { JUser } from '@models/user.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; @@ -13,6 +12,8 @@ import { HTTableColumn } from '@components/tables/ht-table/ht-table.models'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zAccessGroupResponse } from '@generated/api/zod.gen'; + export class AccessGroupsExpandDataSource extends BaseDataSource { private _accessgroupId = 0; private _include = ''; @@ -40,10 +41,7 @@ export class AccessGroupsExpandDataSource extends BaseDataSource finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const accessGroup = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const accessGroup: JAccessGroup = this.serializer.deserialize(response, zAccessGroupResponse); this.originalData = accessGroup[this._include] || []; this.applyClientFilter(this._activeFilterValue, this._activeFilterColumn); }) diff --git a/src/app/core/_datasources/access-groups.datasource.ts b/src/app/core/_datasources/access-groups.datasource.ts index 6410c3e52..fe7f5fde6 100644 --- a/src/app/core/_datasources/access-groups.datasource.ts +++ b/src/app/core/_datasources/access-groups.datasource.ts @@ -12,6 +12,8 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; +import { zAccessGroupListResponse } from '@generated/api/zod.gen'; + export class AccessGroupsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -41,10 +43,7 @@ export class AccessGroupsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - - const accessgroups = this.serializer.deserialize(responseBody); - + const accessgroups: JAccessGroup[] = this.serializer.deserialize(response, zAccessGroupListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; const prevLink = response.links.prev; diff --git a/src/app/core/_datasources/access-permission-groups-expand.datasource.ts b/src/app/core/_datasources/access-permission-groups-expand.datasource.ts index d2b66b618..4ce0a6388 100644 --- a/src/app/core/_datasources/access-permission-groups-expand.datasource.ts +++ b/src/app/core/_datasources/access-permission-groups-expand.datasource.ts @@ -4,12 +4,13 @@ import { JGlobalPermissionGroup, UserPermissions } from '@models/global-permissi import { ResponseWrapper } from '@models/response.model'; import { JUser } from '@models/user.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zRightGroupResponse } from '@generated/api/zod.gen'; + export class AccessPermissionGroupsExpandDataSource extends BaseDataSource { private _accesspermgroupId = 0; private _expand = ''; @@ -40,12 +41,12 @@ export class AccessPermissionGroupsExpandDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const globalPermissionGroup = new JsonAPISerializer().deserialize(response); + const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zRightGroupResponse) as JGlobalPermissionGroup; let data: (UserPermissions | JUser)[]; if (this._perm) { data = this.processPermissions(globalPermissionGroup); } else { - data = globalPermissionGroup.userMembers; + data = globalPermissionGroup.userMembers as JUser[]; } this.setData(data); }) diff --git a/src/app/core/_datasources/agent-binaries.datasource.ts b/src/app/core/_datasources/agent-binaries.datasource.ts index 21d81f570..4efd687d0 100644 --- a/src/app/core/_datasources/agent-binaries.datasource.ts +++ b/src/app/core/_datasources/agent-binaries.datasource.ts @@ -11,6 +11,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; +import { zAgentBinaryListResponse } from '@generated/api/zod.gen'; + export class AgentBinariesDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -41,8 +43,7 @@ export class AgentBinariesDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseData = { data: response.data, included: response.included }; - const agentBinaries = this.serializer.deserialize(responseData); + const agentBinaries: JAgentBinary[] = this.serializer.deserialize(response, zAgentBinaryListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/agent-error.datasource.ts b/src/app/core/_datasources/agent-error.datasource.ts index 13ca04107..7afb42d7a 100644 --- a/src/app/core/_datasources/agent-error.datasource.ts +++ b/src/app/core/_datasources/agent-error.datasource.ts @@ -8,12 +8,13 @@ import { JAgentErrors } from '@models/agent-errors.model'; import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zAgentErrorListResponse } from '@generated/api/zod.gen'; + export class AgentErrorDatasource extends BaseDataSource { private _agentId = 0; private _currentFilter: Filter = null; @@ -43,12 +44,7 @@ export class AgentErrorDatasource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(async (response: ResponseWrapper) => { - const serializer = new JsonAPISerializer(); - const responseBody = { data: response.data, included: response.included }; - const agents = serializer.deserialize({ - data: responseBody.data, - included: responseBody.included - }); + const agents: JAgentErrors[] = this.serializer.deserialize(response, zAgentErrorListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/agents.datasource.ts b/src/app/core/_datasources/agents.datasource.ts index 68ebd9b62..813ea6d9a 100644 --- a/src/app/core/_datasources/agents.datasource.ts +++ b/src/app/core/_datasources/agents.datasource.ts @@ -10,12 +10,14 @@ import { JAgentAssignment } from '@models/agent-assignment.model'; import { JAgent } from '@models/agent.model'; import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; +import { JTask } from '@models/task.model'; import { JUser } from '@models/user.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; +import { zAgentListResponse, zAssignmentListResponse, zUserListResponse } from '@generated/api/zod.gen'; + import { BaseDataSource } from '@datasources/base.datasource'; export class AgentsDataSource extends BaseDataSource { @@ -69,12 +71,7 @@ export class AgentsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(async (response: ResponseWrapper) => { - const serializer = new JsonAPISerializer(); - const responseBody = { data: response.data, included: response.included }; - const agents = serializer.deserialize({ - data: responseBody.data, - included: responseBody.included - }); + const agents: JAgent[] = this.serializer.deserialize(response, zAgentListResponse) as JAgent[]; if (agents && agents.length > 0) { agents.forEach((agent: JAgent) => { @@ -112,12 +109,7 @@ export class AgentsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(async (response: ResponseWrapper) => { - const serializer = new JsonAPISerializer(); - const responseBody = { data: response.data, included: response.included }; - const assignments = serializer.deserialize({ - data: responseBody.data, - included: responseBody.included - }); + const assignments: JAgentAssignment[] = this.serializer.deserialize(response, zAssignmentListResponse) as JAgentAssignment[]; if (assignments && assignments.length > 0) { const userIds: Array = assignments .map((assignment) => assignment.agent.userId) @@ -126,8 +118,8 @@ export class AgentsDataSource extends BaseDataSource { const agents: JAgent[] = []; assignments.forEach((assignment) => { - const task = assignment.task; - const agent = assignment.agent; + const task = assignment.task as JTask; + const agent = assignment.agent as JAgent; agent.task = task; agent.user = users.find((user) => user.id === agent.userId); agent.taskName = agent.task.taskName; @@ -188,8 +180,7 @@ export class AgentsDataSource extends BaseDataSource { }) ) ); - const responseBody = { data: response.data, included: response.included }; - users = this.serializer.deserialize(responseBody); + users = this.serializer.deserialize(response, zUserListResponse) as JUser[]; } catch { // Error already handled via handleFilterError } diff --git a/src/app/core/_datasources/chunks.datasource.ts b/src/app/core/_datasources/chunks.datasource.ts index 342a3e222..d37dd8dbe 100644 --- a/src/app/core/_datasources/chunks.datasource.ts +++ b/src/app/core/_datasources/chunks.datasource.ts @@ -11,6 +11,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; +import { zChunkListResponse } from '@generated/api/zod.gen'; + export class ChunksDataSource extends BaseDataSource { private _agentId = 0; private _currentFilter: Filter = null; @@ -48,8 +50,7 @@ export class ChunksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(([response]: [ResponseWrapper]) => { - const responseBody = { data: response.data, included: response.included }; - const assignedChunks = this.serializer.deserialize(responseBody); + const assignedChunks: JChunk[] = this.serializer.deserialize(response, zChunkListResponse); assignedChunks.forEach((chunk: JChunk) => { if (chunk.task != undefined) { diff --git a/src/app/core/_datasources/crackers.datasource.ts b/src/app/core/_datasources/crackers.datasource.ts index e49809f88..56c96efbc 100644 --- a/src/app/core/_datasources/crackers.datasource.ts +++ b/src/app/core/_datasources/crackers.datasource.ts @@ -12,6 +12,8 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; +import { zCrackerBinaryTypeListResponse } from '@generated/api/zod.gen'; + export class CrackersDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -40,8 +42,7 @@ export class CrackersDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseData = { data: response.data, included: response.included }; - const crackers = this.serializer.deserialize(responseData); + const crackers: JCrackerBinaryType[] = this.serializer.deserialize(response, zCrackerBinaryTypeListResponse) as JCrackerBinaryType[]; const length = response.meta.page.total_elements; const nextLink = response.links.next; @@ -50,7 +51,7 @@ export class CrackersDataSource extends BaseDataSource { const before = prevLink ? new URL(prevLink).searchParams.get('page[before]') : null; this.setPaginationConfig(this.pageSize, length, after, before, this.index); - this.setData(crackers); + this.setData(crackers as JCrackerBinaryType[]); }) ); } diff --git a/src/app/core/_datasources/cracks.datasource.ts b/src/app/core/_datasources/cracks.datasource.ts index a2cfc25a1..09a4d5400 100644 --- a/src/app/core/_datasources/cracks.datasource.ts +++ b/src/app/core/_datasources/cracks.datasource.ts @@ -5,12 +5,13 @@ import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; import { JTask } from '@models/task.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zHashListResponse, zTaskResponse } from '@generated/api/zod.gen'; + export class CracksDataSource extends BaseDataSource { public length = 0; private _currentFilter: Filter = null; @@ -64,8 +65,7 @@ export class CracksDataSource extends BaseDataSource { const before = prevLink ? new URL(response.links.prev).searchParams.get('page[before]') : null; this.setPaginationConfig(this.pageSize, length, after, before, this.index); - const serializer = new JsonAPISerializer(); - return serializer.deserialize({ data: response.data, included: response.included }); + return this.serializer.deserialize(response, zHashListResponse) as JHash[]; } catch { return []; } @@ -86,7 +86,7 @@ export class CracksDataSource extends BaseDataSource { }) ) ); - return new JsonAPISerializer().deserialize({ data: response.data, included: response.included }); + return this.serializer.deserialize(response, zTaskResponse) as JTask; } catch { return null; } diff --git a/src/app/core/_datasources/files.datasource.ts b/src/app/core/_datasources/files.datasource.ts index 4dab4332f..4e53ef978 100644 --- a/src/app/core/_datasources/files.datasource.ts +++ b/src/app/core/_datasources/files.datasource.ts @@ -13,12 +13,13 @@ import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; import { JTask } from '@models/task.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zFileListResponse, zPretaskResponse, zTaskResponse } from '@generated/api/zod.gen'; + /** * Data source class definition for files */ @@ -99,15 +100,11 @@ export class FilesDataSource extends BaseDataSource { ) .subscribe((response: ResponseWrapper) => { if (this.editIndex !== undefined && this.editType === 0) { - const serializer = new JsonAPISerializer(); - const responseData = { data: response.data, included: response.included }; - const tasks = serializer.deserialize(responseData); + const tasks: JTask = this.serializer.deserialize(response, zTaskResponse) as JTask; - this.setData(tasks.files); + this.setData(tasks.files as JFile[]); } else if (this.editType === 1) { - const serializer = new JsonAPISerializer(); - const responseData = { data: response.data, included: response.included }; - const pretask = serializer.deserialize(responseData); + const pretask: JPretask = this.serializer.deserialize(response, zPretaskResponse) as JPretask; if (!this.editType) { const nextLink = response.links.next; @@ -118,11 +115,9 @@ export class FilesDataSource extends BaseDataSource { this.setPaginationConfig(this.pageSize, length, after, before, this.index); } - this.setData(pretask.pretaskFiles); + this.setData(pretask.pretaskFiles as JFile[]); } else { - const serializer = new JsonAPISerializer(); - const responseData = { data: response.data, included: response.included }; - const files = serializer.deserialize(responseData); + const files: JFile[] = this.serializer.deserialize(response, zFileListResponse); const nextLink = response.links.next; const prevLink = response.links.prev; diff --git a/src/app/core/_datasources/hashes.datasource.ts b/src/app/core/_datasources/hashes.datasource.ts index c936cf8e9..dadef586f 100644 --- a/src/app/core/_datasources/hashes.datasource.ts +++ b/src/app/core/_datasources/hashes.datasource.ts @@ -4,12 +4,13 @@ import { JHash } from '@models/hash.model'; import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zHashListResponse } from '@generated/api/zod.gen'; + export class HashesDataSource extends BaseDataSource { private _id = 0; private _dataType: string; @@ -40,10 +41,7 @@ export class HashesDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const hashes = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const hashes: JHash[] = this.serializer.deserialize(response, zHashListResponse); this.setData(hashes); }) @@ -72,10 +70,7 @@ export class HashesDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const hashes = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const hashes: JHash[] = this.serializer.deserialize(response, zHashListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/hashlists.datasource.ts b/src/app/core/_datasources/hashlists.datasource.ts index d18240099..35f74e4c7 100644 --- a/src/app/core/_datasources/hashlists.datasource.ts +++ b/src/app/core/_datasources/hashlists.datasource.ts @@ -13,6 +13,8 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { HashListFormat } from '@src/app/core/_constants/hashlist.config'; +import { zHashlistListResponse, zHashlistResponse } from '@generated/api/zod.gen'; + export class HashlistsDataSource extends BaseDataSource { private isArchived = false; private superHashListID = 0; @@ -59,12 +61,8 @@ export class HashlistsDataSource extends BaseDataSource { if (!response) { return; // Don't update data if there was an error } - const responseData = { data: response.data, included: response.included }; - const superHashList: JHashlist = this.serializer.deserialize({ - data: responseData.data, - included: responseData.included - }); - this.setData(superHashList.hashlists); + const superHashList: JHashlist = this.serializer.deserialize(response, zHashlistResponse) as JHashlist; + this.setData(superHashList.hashlists as JHashlist[]); const length = response.meta.page.total_elements; const nextLink = response.links.next; const prevLink = response.links.prev; @@ -103,8 +101,7 @@ export class HashlistsDataSource extends BaseDataSource { if (!response) { return; // Don't update data if there was an error } - const responseData = { data: response.data, included: response.included }; - const deserialized = this.serializer.deserialize(responseData); + const deserialized: JHashlist[] = this.serializer.deserialize(response, zHashlistListResponse) as JHashlist[]; if (!deserialized || !Array.isArray(deserialized)) { return; // Safety check: if deserialize returns null or non-array, exit } diff --git a/src/app/core/_datasources/hashtypes.datasource.ts b/src/app/core/_datasources/hashtypes.datasource.ts index bfda111cf..8fc73f18e 100644 --- a/src/app/core/_datasources/hashtypes.datasource.ts +++ b/src/app/core/_datasources/hashtypes.datasource.ts @@ -12,6 +12,8 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { Filter } from '@src/app/core/_models/request-params.model'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; +import { zHashTypeListResponse } from '@generated/api/zod.gen'; + export class HashtypesDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -39,8 +41,7 @@ export class HashtypesDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const hashtypes = this.serializer.deserialize(responseBody); + const hashtypes: JHashtype[] = this.serializer.deserialize(response, zHashTypeListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; const prevLink = response.links.prev; diff --git a/src/app/core/_datasources/health-check-agents.datasource.ts b/src/app/core/_datasources/health-check-agents.datasource.ts index 68f96c3d3..88c1714e2 100644 --- a/src/app/core/_datasources/health-check-agents.datasource.ts +++ b/src/app/core/_datasources/health-check-agents.datasource.ts @@ -4,12 +4,13 @@ import { JHealthCheckAgent } from '@models/health-check.model'; import { FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zHealthCheckAgentListResponse } from '@generated/api/zod.gen'; + export class HealthCheckAgentsDataSource extends BaseDataSource { private _healthCheckId = 0; @@ -38,10 +39,7 @@ export class HealthCheckAgentsDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((healthCheckResponse: ResponseWrapper) => { - const healthChecksAgent = new JsonAPISerializer().deserialize({ - data: healthCheckResponse.data, - included: healthCheckResponse.included - }); + const healthChecksAgent: JHealthCheckAgent[] = this.serializer.deserialize(healthCheckResponse, zHealthCheckAgentListResponse); const length = healthCheckResponse.meta.page.total_elements; const nextLink = healthCheckResponse.links.next; diff --git a/src/app/core/_datasources/health-checks.datasource.ts b/src/app/core/_datasources/health-checks.datasource.ts index 413ef0a99..ea461f35a 100644 --- a/src/app/core/_datasources/health-checks.datasource.ts +++ b/src/app/core/_datasources/health-checks.datasource.ts @@ -11,6 +11,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; +import { zHealthCheckListResponse } from '@generated/api/zod.gen'; + export class HealthChecksDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -40,8 +42,7 @@ export class HealthChecksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(([response]: [ResponseWrapper]) => { - const responseData = { data: response.data, included: response.included }; - const healthChecks = this.serializer.deserialize(responseData); + const healthChecks: JHealthCheck[] = this.serializer.deserialize(response, zHealthCheckListResponse); healthChecks.forEach((healthCheck: JHealthCheck) => { healthCheck.hashTypeDescription = healthCheck.hashType?.description; diff --git a/src/app/core/_datasources/logs.datasource.ts b/src/app/core/_datasources/logs.datasource.ts index de59aee6a..e3d3b3178 100644 --- a/src/app/core/_datasources/logs.datasource.ts +++ b/src/app/core/_datasources/logs.datasource.ts @@ -12,6 +12,8 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; +import { zLogEntryListResponse } from '@generated/api/zod.gen'; + export class LogsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -44,10 +46,9 @@ export class LogsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseData = { data: response.data, included: response.included }; - const logs = this.serializer.deserialize(responseData); - /* - this causes an infinite loop when searching im not sure what is the purpose of it since no other load all has it + const logs: JLog[] = this.serializer.deserialize(response, zLogEntryListResponse) as JLog[]; + /* + this causes an infinite loop when searching im not sure what is the purpose of it since no other load all has it */ /* if (this.currentPage * this.pageSize >= logs.length) { this.currentPage = 0; diff --git a/src/app/core/_datasources/notifications.datasource.ts b/src/app/core/_datasources/notifications.datasource.ts index 68df07026..49dfe98e3 100644 --- a/src/app/core/_datasources/notifications.datasource.ts +++ b/src/app/core/_datasources/notifications.datasource.ts @@ -11,6 +11,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; +import { zNotificationSettingListResponse } from '@generated/api/zod.gen'; + export class NotificationsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -40,8 +42,7 @@ export class NotificationsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseData = { data: response.data, included: response.included }; - const notifications = this.serializer.deserialize(responseData); + const notifications: JNotification[] = this.serializer.deserialize(response, zNotificationSettingListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/permissions.datasource.ts b/src/app/core/_datasources/permissions.datasource.ts index 25b7a9fe3..6d6679006 100644 --- a/src/app/core/_datasources/permissions.datasource.ts +++ b/src/app/core/_datasources/permissions.datasource.ts @@ -12,6 +12,8 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; +import { zRightGroupListResponse } from '@generated/api/zod.gen'; + export class PermissionsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -41,8 +43,7 @@ export class PermissionsDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const globalPermissionGroups = this.serializer.deserialize(responseBody); + const globalPermissionGroups: JGlobalPermissionGroup[] = this.serializer.deserialize(response, zRightGroupListResponse) as JGlobalPermissionGroup[]; const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/preconfigured-tasks.datasource.ts b/src/app/core/_datasources/preconfigured-tasks.datasource.ts index 7e89a385b..42cd9fede 100644 --- a/src/app/core/_datasources/preconfigured-tasks.datasource.ts +++ b/src/app/core/_datasources/preconfigured-tasks.datasource.ts @@ -14,6 +14,8 @@ import { IParamBuilder } from '@services/params/builder-types.service'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zPretaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; + export class PreTasksDataSource extends BaseDataSource { private _superTaskId = 0; private _reverseQuery = false; @@ -109,8 +111,7 @@ export class PreTasksDataSource extends BaseDataSource { const before = prevLink ? new URL(response.links.prev).searchParams.get('page[before]') : null; this.setPaginationConfig(this.pageSize, length, after, before, this.index); - const responseData = { data: response.data, included: response.included }; - return this.serializer.deserialize(responseData); + return this.serializer.deserialize(response, zPretaskListResponse) as JPretask[]; } catch { return []; } @@ -128,8 +129,7 @@ export class PreTasksDataSource extends BaseDataSource { ) ); - const responseData = { data: response.data, included: response.included }; - return this.serializer.deserialize(responseData); + return this.serializer.deserialize(response, zSupertaskResponse) as JSuperTask; } catch { return null; } @@ -170,8 +170,7 @@ export class PreTasksDataSource extends BaseDataSource { const before = prevLink ? new URL(prevLink).searchParams.get('page[before]') : null; this.setPaginationConfig(this.pageSize, length, after, before, this.index); - const responseData = { data: response.data, included: response.included }; - return this.serializer.deserialize(responseData); + return this.serializer.deserialize(response, zPretaskListResponse) as JPretask[]; } catch { return []; } diff --git a/src/app/core/_datasources/preprocessors.datasource.ts b/src/app/core/_datasources/preprocessors.datasource.ts index 5d9debda3..48bce958d 100644 --- a/src/app/core/_datasources/preprocessors.datasource.ts +++ b/src/app/core/_datasources/preprocessors.datasource.ts @@ -14,6 +14,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; +import { zPreprocessorListResponse } from '@generated/api/zod.gen'; + export class PreprocessorsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -42,8 +44,7 @@ export class PreprocessorsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseData = { data: response.data, included: response.included }; - const preprocessors = this.serializer.deserialize(responseData); + const preprocessors: JPreprocessor[] = this.serializer.deserialize(response, zPreprocessorListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/search-hash.datasource.ts b/src/app/core/_datasources/search-hash.datasource.ts index 4b3912e47..06af16204 100644 --- a/src/app/core/_datasources/search-hash.datasource.ts +++ b/src/app/core/_datasources/search-hash.datasource.ts @@ -11,6 +11,8 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { formatUnixTimestamp } from '@src/app/shared/utils/datetime'; +import { zHashListResponse } from '@generated/api/zod.gen'; + export class SearchHashDataSource extends BaseDataSource { private search: string[]; private dateFormat: string; @@ -60,8 +62,7 @@ export class SearchHashDataSource extends BaseDataSource { }) ) .subscribe((response: ResponseWrapper) => { - const responseData = { data: response.data, included: response.included }; - const hashes = this.convertHashes(this.serializer.deserialize(responseData)); + const hashes = this.convertHashes(this.serializer.deserialize(response, zHashListResponse) as JHash[]); this.checkMissingHashes(hashes); this.setData(hashes); }) diff --git a/src/app/core/_datasources/super-hashlists.datasource.ts b/src/app/core/_datasources/super-hashlists.datasource.ts index 7db6f72b0..b5af2ce4d 100644 --- a/src/app/core/_datasources/super-hashlists.datasource.ts +++ b/src/app/core/_datasources/super-hashlists.datasource.ts @@ -7,13 +7,14 @@ import { JHashlist } from '@models/hashlist.model'; import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; +import { zHashlistListResponse } from '@generated/api/zod.gen'; + export class SuperHashlistsDataSource extends BaseDataSource { private isArchived = false; private _currentFilter: Filter = null; @@ -51,9 +52,7 @@ export class SuperHashlistsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const serializer = new JsonAPISerializer(); - const responseData = { data: response.data, included: response.included }; - const superHashlists = serializer.deserialize(responseData); + const superHashlists: JHashlist[] = this.serializer.deserialize(response, zHashlistListResponse) as JHashlist[]; const rows: JHashlist[] = []; superHashlists.forEach((superHashlist) => { diff --git a/src/app/core/_datasources/supertasks-pretasks.datasource.ts b/src/app/core/_datasources/supertasks-pretasks.datasource.ts index f4779f7e1..aedd370ed 100644 --- a/src/app/core/_datasources/supertasks-pretasks.datasource.ts +++ b/src/app/core/_datasources/supertasks-pretasks.datasource.ts @@ -4,12 +4,13 @@ import { JPretask } from '@models/pretask.model'; import { ResponseWrapper } from '@models/response.model'; import { JSuperTask } from '@models/supertask.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zSupertaskResponse } from '@generated/api/zod.gen'; + export class SuperTasksPretasksDataSource extends BaseDataSource { private _supertTaskId = 0; @@ -29,10 +30,7 @@ export class SuperTasksPretasksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const pretasks = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }).pretasks; + const pretasks = (this.serializer.deserialize(response, zSupertaskResponse) as JSuperTask).pretasks as JPretask[]; this.setData(pretasks); }) ); diff --git a/src/app/core/_datasources/supertasks.datasource.ts b/src/app/core/_datasources/supertasks.datasource.ts index 92f2e0502..142732942 100644 --- a/src/app/core/_datasources/supertasks.datasource.ts +++ b/src/app/core/_datasources/supertasks.datasource.ts @@ -12,6 +12,8 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; +import { zSupertaskListResponse } from '@generated/api/zod.gen'; + export class SuperTasksDataSource extends BaseDataSource { private _currentFilter: Filter = null; loadAll(query?: Filter): void { @@ -40,8 +42,7 @@ export class SuperTasksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const supertasks = this.serializer.deserialize(responseBody); + const supertasks: JSuperTask[] = this.serializer.deserialize(response, zSupertaskListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; const prevLink = response.links.prev; diff --git a/src/app/core/_datasources/tasks-chunks.datasource.ts b/src/app/core/_datasources/tasks-chunks.datasource.ts index 8711bda53..06566cdf6 100644 --- a/src/app/core/_datasources/tasks-chunks.datasource.ts +++ b/src/app/core/_datasources/tasks-chunks.datasource.ts @@ -7,12 +7,13 @@ import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; import { JTask } from '@models/task.model'; -import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { BaseDataSource } from '@datasources/base.datasource'; +import { zChunkListResponse, zTaskResponse } from '@generated/api/zod.gen'; + export class TasksChunksDataSource extends BaseDataSource { private _taskId = 0; private _isChunksLive = 0; @@ -54,10 +55,7 @@ export class TasksChunksDataSource extends BaseDataSource { }) ) ); - const task = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const task: JTask = this.serializer.deserialize(response, zTaskResponse) as JTask; chunkTime = task.chunkTime; } catch { // Error already handled via handleFilterError @@ -85,11 +83,7 @@ export class TasksChunksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const chunks = new JsonAPISerializer().deserialize({ - data: responseBody.data, - included: responseBody.included - }); + const chunks: JChunk[] = this.serializer.deserialize(response, zChunkListResponse); const chunksToShow: JChunk[] = chunks.map((chunk: JChunk) => { if (chunk.agent) { diff --git a/src/app/core/_datasources/tasks-supertasks.datasource.ts b/src/app/core/_datasources/tasks-supertasks.datasource.ts index 7cca69ded..95f31170e 100644 --- a/src/app/core/_datasources/tasks-supertasks.datasource.ts +++ b/src/app/core/_datasources/tasks-supertasks.datasource.ts @@ -10,6 +10,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; +import { zChunkListResponse, zTaskListResponse } from '@generated/api/zod.gen'; + export class TasksSupertasksDataSource extends BaseDataSource { private _supertTaskId = 0; @@ -34,10 +36,7 @@ export class TasksSupertasksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const subtasks = this.serializer.deserialize({ - data: response.data, - included: response.included - }); + const subtasks: JTask[] = this.serializer.deserialize(response, zTaskListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; const prevLink = response.links.prev; @@ -57,10 +56,7 @@ export class TasksSupertasksDataSource extends BaseDataSource { .getAll(SERV.CHUNKS, chunkParams.create()) .pipe(finalize(() => this.setData(subtasks))) .subscribe((chunkResponse: ResponseWrapper) => { - const chunks = this.serializer.deserialize({ - data: chunkResponse.data, - included: chunkResponse.included - }); + const chunks: JChunk[] = this.serializer.deserialize(chunkResponse, zChunkListResponse); subtasks.forEach((task) => { task.chunkData = this.convertChunks(task.id, chunks, false, task.keyspace); }); diff --git a/src/app/core/_datasources/tasks.datasource.ts b/src/app/core/_datasources/tasks.datasource.ts index e1c4ce617..4cfe42cbf 100644 --- a/src/app/core/_datasources/tasks.datasource.ts +++ b/src/app/core/_datasources/tasks.datasource.ts @@ -10,6 +10,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; +import { zTaskWrapperListResponse } from '@generated/api/zod.gen'; + export class TasksDataSource extends BaseDataSource { private _isArchived = false; private _hashlistID = 0; @@ -69,10 +71,7 @@ export class TasksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const taskWrappers = this.serializer.deserialize({ - data: response.data, - included: response.included - }); + const taskWrappers: JTaskWrapper[] = this.serializer.deserialize(response, zTaskWrapperListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; const prevLink = response.links.prev; diff --git a/src/app/core/_datasources/users.datasource.ts b/src/app/core/_datasources/users.datasource.ts index 9661d6be9..082ad32ac 100644 --- a/src/app/core/_datasources/users.datasource.ts +++ b/src/app/core/_datasources/users.datasource.ts @@ -12,6 +12,8 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; +import { zUserListResponse } from '@generated/api/zod.gen'; + export class UsersDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -41,9 +43,7 @@ export class UsersDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - - const users = this.serializer.deserialize(responseBody); + const users: JUser[] = this.serializer.deserialize(response, zUserListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/vouchers.datasource.ts b/src/app/core/_datasources/vouchers.datasource.ts index c7d978829..90ede5289 100644 --- a/src/app/core/_datasources/vouchers.datasource.ts +++ b/src/app/core/_datasources/vouchers.datasource.ts @@ -5,10 +5,11 @@ import { Filter } from '@models/request-params.model'; import { BaseDataSource } from '@src/app/core/_datasources/base.datasource'; import { ResponseWrapper } from '@src/app/core/_models/response.model'; import { JVoucher } from '@src/app/core/_models/voucher.model'; -import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; import { SERV } from '@src/app/core/_services/main.config'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; +import { zRegVoucherListResponse } from '@generated/api/zod.gen'; + export class VouchersDataSource extends BaseDataSource { loadAll(query?: Filter): void { this.loading = true; @@ -25,10 +26,7 @@ export class VouchersDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const vouchers: JVoucher[] = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const vouchers: JVoucher[] = this.serializer.deserialize(response, zRegVoucherListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_models/agent-errors.model.ts b/src/app/core/_models/agent-errors.model.ts index da46e24dc..b6abd2e48 100644 --- a/src/app/core/_models/agent-errors.model.ts +++ b/src/app/core/_models/agent-errors.model.ts @@ -1,6 +1,5 @@ import { BaseModel } from './base.model'; import { JTask } from './task.model'; -import { NumberSymbol } from '@angular/common'; export interface JAgentErrors extends BaseModel { agentId: number; @@ -8,7 +7,7 @@ export interface JAgentErrors extends BaseModel { error: string; id: number; taskId: number; - time: NumberSymbol; + time: number; type: string; task?: JTask; } diff --git a/src/app/core/_models/agent.model.ts b/src/app/core/_models/agent.model.ts index 1792da346..fee15268a 100644 --- a/src/app/core/_models/agent.model.ts +++ b/src/app/core/_models/agent.model.ts @@ -18,16 +18,16 @@ export interface JAgent extends BaseModel { os: number; devices: string; cmdPars: string; - ignoreErrors: number; + ignoreErrors?: number; isActive: boolean; isTrusted: boolean; token: string; lastAct: string; lastTime: number; lastIp: string; - userId: null; + userId: number; user?: JUser; - cpuOnly: number; + cpuOnly: boolean; clientSignature: string; agentStats?: JAgentStat[]; agentErrors?: JAgentErrors[]; diff --git a/src/app/core/_models/chunk.model.ts b/src/app/core/_models/chunk.model.ts index 7b782245f..ba88bcf3c 100644 --- a/src/app/core/_models/chunk.model.ts +++ b/src/app/core/_models/chunk.model.ts @@ -10,7 +10,7 @@ export interface JChunk extends BaseModel { taskId: number; taskName?: string; task?: JTask; - format: string; + format?: string; skip: number; length: number; agentId: number; diff --git a/src/app/core/_models/global-permission-group.model.ts b/src/app/core/_models/global-permission-group.model.ts index d5072ce42..846d7eb29 100644 --- a/src/app/core/_models/global-permission-group.model.ts +++ b/src/app/core/_models/global-permission-group.model.ts @@ -21,7 +21,7 @@ export interface Permission { export interface JGlobalPermissionGroup extends BaseModel { name: string; permissions: Permission; - userMembers: JUser[]; + userMembers?: JUser[]; } /** diff --git a/src/app/core/_models/hashlist.model.ts b/src/app/core/_models/hashlist.model.ts index 372716471..9f8896379 100644 --- a/src/app/core/_models/hashlist.model.ts +++ b/src/app/core/_models/hashlist.model.ts @@ -9,8 +9,8 @@ import { JTask } from '@models/task.model'; export interface JHashlist extends BaseModel { hashlistId?: number; accessGroupId: number; - brainFeatures: string; - format: number; + brainFeatures: number; + format?: number; name: string; hashTypeId: number; hashType?: JHashtype; @@ -24,8 +24,8 @@ export interface JHashlist extends BaseModel { cracked: number; notes: string; isArchived: boolean; - sourceType: string; - sourceData: string; + sourceType?: string; + sourceData?: string; hashlists?: JHashlist[]; tasks?: JTask[]; } diff --git a/src/app/core/_models/health-check.model.ts b/src/app/core/_models/health-check.model.ts index 9b65738b2..af726898f 100644 --- a/src/app/core/_models/health-check.model.ts +++ b/src/app/core/_models/health-check.model.ts @@ -35,7 +35,8 @@ export interface JHealthCheck extends BaseModel { crackerBinary?: JCrackerBinary; expectedCracks: number; healthCheckAgents?: JHealthCheckAgent[]; - hashTypeId: number; + hashtypeId: number; + hashTypeId?: number; hashType?: JHashtype; hashTypeDescription?: string; status: number; diff --git a/src/app/core/_models/json-api.types.ts b/src/app/core/_models/json-api.types.ts index 9f482f608..9dad9463b 100644 --- a/src/app/core/_models/json-api.types.ts +++ b/src/app/core/_models/json-api.types.ts @@ -1,4 +1,5 @@ import { z } from 'zod'; +import { TJsonApiLinks } from 'jsona/lib/JsonaTypes'; // ── Helpers ────────────────────────────────────────────────────── @@ -13,6 +14,14 @@ type NormalizeEnvelope = 'data' extends keyof T : T : T; +/** + * Properties injected by jsona at runtime on every deserialized object. + */ +type JsonaRuntimeProps = { + links?: TJsonApiLinks; + relationshipNames?: string[]; +}; + /** * Flatten a JSON:API resource object: merge attributes into the root, * strip the `attributes` and `relationships` wrappers. @@ -20,51 +29,15 @@ type NormalizeEnvelope = 'data' extends keyof T * { id, type, attributes: { name } } → { id, type, name } */ type FlattenItem = D extends { attributes?: infer A } - ? Omit & NonNullable
- : D; - -/** - * Extract and flatten the included resource type from an envelope. - */ -type ExtractIncluded = 'included' extends keyof T - ? T extends { included?: (infer I)[] } - ? FlattenItem - : unknown - : unknown; - -/** - * Extract relationship key names from a type that has a `relationships` property. - */ -type ExtractRelKeys = 'relationships' extends keyof T - ? T extends { relationships?: infer R } - ? keyof NonNullable - : never - : never; - -/** - * Collect relationship keys from both the data item (correct JSON:API) - * and the response level (current backend spec) so types work - * before and after the backend fix. - */ -type AllRelKeys = - | ExtractRelKeys - | ExtractRelKeys; - -/** - * Map relationship keys to their resolved included types. - * Jsona can produce: single object, array, or null. - */ -type RelationshipMap = - [Keys] extends [never] - ? {} - : { [K in Keys]?: TIncluded | TIncluded[] | null }; + ? Omit & NonNullable & JsonaRuntimeProps + : D & JsonaRuntimeProps; // ── Main types ─────────────────────────────────────────────────── type JsonApiPayloadInner = T extends { data: (infer D)[] } - ? (FlattenItem & RelationshipMap, ExtractIncluded>)[] + ? FlattenItem[] : T extends { data: infer D } - ? FlattenItem & RelationshipMap, ExtractIncluded> + ? FlattenItem : T; /** @@ -82,3 +55,4 @@ export type JsonApiPayload = JsonApiPayloadInner>; export type JsonApiPayloadOf = JsonApiPayload< z.infer >; + diff --git a/src/app/core/_models/pretask.model.ts b/src/app/core/_models/pretask.model.ts index e41257012..93a483fd0 100644 --- a/src/app/core/_models/pretask.model.ts +++ b/src/app/core/_models/pretask.model.ts @@ -14,7 +14,7 @@ export interface JPretask extends BaseModel { isMaskImport: boolean; isSmall: boolean; maxAgents: number; - pretaskFiles: JFile[]; + pretaskFiles?: JFile[]; priority: number; statusTimer: number; taskName: string; diff --git a/src/app/core/_models/speed-stat.model.ts b/src/app/core/_models/speed-stat.model.ts index b560b2e66..8e3289b1b 100644 --- a/src/app/core/_models/speed-stat.model.ts +++ b/src/app/core/_models/speed-stat.model.ts @@ -10,7 +10,7 @@ import { BaseModel } from '@models/base.model'; * @prop time Timestamp */ export interface SpeedStat extends BaseModel { - speedId: number; + speedId?: number; agentId: number; taskId: number; speed: number; diff --git a/src/app/core/_models/task.model.ts b/src/app/core/_models/task.model.ts index d7f70ff52..4514b7ea8 100644 --- a/src/app/core/_models/task.model.ts +++ b/src/app/core/_models/task.model.ts @@ -30,21 +30,21 @@ export interface TaskAttributes extends BaseModel { */ export interface JTask extends BaseModel, TaskAttributes { attackCmd: string; - activeAgents: number; + activeAgents?: number; chunkTime: number; statusTimer: number; keyspace: number; keyspaceProgress: number; files?: JFile[]; - color: null | string; + color: string; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; skipKeyspace: number; crackerBinaryId: number; crackerBinaryTypeId: number; - crackerBinary: JCrackerBinary; - crackerBinaryType: JCrackerBinaryType; + crackerBinary?: JCrackerBinary; + crackerBinaryType?: JCrackerBinaryType; hashlist?: JHashlist; assignedAgents?: JAgent[]; taskWrapperId: number; @@ -55,15 +55,15 @@ export interface JTask extends BaseModel, TaskAttributes { forcePipe: boolean; preprocessorId: number; preprocessorCommand: string; - dispatched: string; - searched: string; - speeds: SpeedStat[]; + dispatched?: string; + searched?: string; + speeds?: SpeedStat[]; chunkData?: ChunkData; - status: number; - timeSpent: number; - currentSpeed: number; - estimatedTime: number; - cprogress: number; + status?: number; + timeSpent?: number; + currentSpeed?: number; + estimatedTime?: number; + cprogress?: number; isrunning?: boolean; isCompleted?: boolean; activeSubtasks?: number; @@ -82,8 +82,8 @@ export interface JTaskWrapper extends BaseModel, TaskAttributes { hashlist?: JHashlist; hashType?: JHashtype; isArchived: boolean; - taskType: TaskType; - taskWrapperId: number; + taskType?: TaskType; + taskWrapperId?: number; taskWrapperName: string; tasks?: JTask[]; chunkData?: ChunkData; diff --git a/src/app/core/_models/user.model.ts b/src/app/core/_models/user.model.ts index f2eb98656..837bf987e 100644 --- a/src/app/core/_models/user.model.ts +++ b/src/app/core/_models/user.model.ts @@ -25,5 +25,5 @@ export interface JUser extends BaseModel { registeredSince: number; sessionLifetime: number; yubikey: string; - accessGroups: JAccessGroup[]; + accessGroups?: JAccessGroup[]; } diff --git a/src/app/core/_services/api/serializer-service.ts b/src/app/core/_services/api/serializer-service.ts index d8676a43d..c1d792e02 100644 --- a/src/app/core/_services/api/serializer-service.ts +++ b/src/app/core/_services/api/serializer-service.ts @@ -47,11 +47,11 @@ export class JsonAPISerializer { } /** - * Deserialize a JSON:API response body into a typed model. + * Deserialize a single-resource JSON:API response body into a typed model. * * @overload Pass a Zod envelope schema to validate the raw body pre-deserialization * and auto-infer the flat return type via JsonApiPayload: - * `deserialize(body, zUserSingleResponse)` → returns `JsonApiPayload<...>` + * `deserialize(body, zAgentResponse)` → returns `JsonApiPayload<...>` (single flat model) * * @overload Omit the schema to get an unvalidated result: * `deserialize(body)` → returns `MyType` @@ -72,13 +72,20 @@ export class JsonAPISerializer { options?: TDeserializeOptions ): T { if (schemaOrOptions instanceof z.ZodType) { - const parseResult = schemaOrOptions.safeParse(body); - if (!parseResult.success) { - console.error('API response validation failed', parseResult.error); - throw parseResult.error; - } + this.validateBody(body, schemaOrOptions); return this.formatter.deserialize(body, options) as T; } return this.formatter.deserialize(body, schemaOrOptions) as T; } + + /** + * Validate a JSON:API body against a Zod envelope schema. + */ + private validateBody(body: TJsonApiBody, schema: z.ZodTypeAny): void { + const parseResult = schema.safeParse(body); + if (!parseResult.success) { + console.error('API response validation failed', parseResult.error); + throw parseResult.error; + } + } } diff --git a/src/app/core/_services/permission/permission.service.ts b/src/app/core/_services/permission/permission.service.ts index b28066533..b64b0b7a4 100644 --- a/src/app/core/_services/permission/permission.service.ts +++ b/src/app/core/_services/permission/permission.service.ts @@ -10,6 +10,8 @@ import { SERV } from '@services/main.config'; import { GlobalService } from '@services/main.service'; import { LocalStorageService } from '@services/storage/local-storage.service'; +import { zRightGroupResponse } from '@generated/api/zod.gen'; + import { PermissionValues } from '@src/app/core/_constants/userpermissions.config'; /** @@ -44,8 +46,7 @@ export class PermissionService { return this.gs.ghelper(SERV.HELPER, 'getUserPermission').pipe( take(1), map((response: ResponseWrapper) => { - const responseData = { data: response.data, included: response.included }; - const globalPermissionGroup = this.serializer.deserialize(responseData); + const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zRightGroupResponse) as JGlobalPermissionGroup; const permissions = globalPermissionGroup.permissions; this.currentPermissions = permissions; diff --git a/src/app/core/_services/shared/storage.service.ts b/src/app/core/_services/shared/storage.service.ts index 086bdeb0b..fe39b8039 100644 --- a/src/app/core/_services/shared/storage.service.ts +++ b/src/app/core/_services/shared/storage.service.ts @@ -9,6 +9,7 @@ import { SERV } from '@services/main.config'; import { GlobalService } from '@services/main.service'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; +import { zConfigListResponse } from '@generated/api/zod.gen'; import { environment } from '@src/environments/environment'; @Injectable({ @@ -46,10 +47,7 @@ export class UIConfigService { const params = new RequestParamBuilder().setPageSize(this.maxResults).create(); this.gs.getAll(SERV.CONFIGS, params).subscribe({ next: (response: ResponseWrapper) => { - const configs = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const configs: JConfig[] = new JsonAPISerializer().deserialize(response, zConfigListResponse); const raw = convertNameValueConfigPairs(configs, this.cachevar); raw['_timestamp'] = Date.now(); raw['_expiresin'] = this.cexprity; diff --git a/src/app/files/new-files/new-files.component.ts b/src/app/files/new-files/new-files.component.ts index 740918cfa..d3882ffa9 100644 --- a/src/app/files/new-files/new-files.component.ts +++ b/src/app/files/new-files/new-files.component.ts @@ -23,6 +23,7 @@ import { NewFilesForm, PreparedFormData, getNewFilesForm } from '@src/app/files/ import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; import { formatFileSize } from '@src/app/shared/utils/util'; import { WordlistGeneratorComponent } from '@src/app/shared/wordlist-generator/wordlist-generator.component'; +import { zAccessGroupListResponse } from '@generated/api/zod.gen'; /** * Represents the NewFilesComponent responsible for creating and uploading files @@ -184,10 +185,7 @@ export class NewFilesComponent implements OnInit, OnDestroy { this.gs.getRelationships(SERV.USERS, this.gs.userId, RelationshipType.ACCESSGROUPS) ); - const accessGroups = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const accessGroups: JAccessGroup[] = new JsonAPISerializer().deserialize(response, zAccessGroupListResponse); this.selectAccessgroup = transformSelectOptions(accessGroups, ACCESS_GROUP_FIELD_MAPPING); } catch (error) { diff --git a/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts b/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts index 7b064c057..4f40a0979 100644 --- a/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts +++ b/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts @@ -5,7 +5,6 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angula import { FormGroup } from '@angular/forms'; import { ActivatedRoute, Router } from '@angular/router'; -import { JAccessGroup } from '@models/access-group.model'; import { JHashlist } from '@models/hashlist.model'; import { JHashtype } from '@models/hashtype.model'; import { ResponseWrapper } from '@models/response.model'; @@ -25,6 +24,7 @@ import { CanComponentDeactivate } from '@src/app/core/_guards/pendingchanges.gua import { StaticArrayPipe } from '@src/app/core/_pipes/static-array.pipe'; import { getEditHashlistForm } from '@src/app/hashlists/edit-hashlist/edit-hashlist.form'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; +import { zAccessGroupListResponse, zHashlistResponse } from '@generated/api/zod.gen'; /** * Represents the EditHashlistComponent responsible for editing a new hashlists. @@ -128,10 +128,7 @@ export class EditHashlistComponent implements OnInit, OnDestroy, CanComponentDea try { const response = await firstValueFrom(this.http.get(url, { params })); - const hashlist = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const hashlist: JHashlist = new JsonAPISerializer().deserialize(response, zHashlistResponse) as JHashlist; this.editedHashlist = hashlist; this.type = hashlist.format; @@ -159,10 +156,7 @@ export class EditHashlistComponent implements OnInit, OnDestroy, CanComponentDea console.warn('loadHashlist(): request with includes failed, retrying without includes', err); const responseFallback = await firstValueFrom(this.http.get(url)); - const hashlist = new JsonAPISerializer().deserialize({ - data: responseFallback.data, - included: responseFallback.included - }); + const hashlist: JHashlist = new JsonAPISerializer().deserialize(responseFallback, zHashlistResponse) as JHashlist; this.editedHashlist = hashlist; this.type = hashlist.format; @@ -200,10 +194,7 @@ export class EditHashlistComponent implements OnInit, OnDestroy, CanComponentDea this.gs.getRelationships(SERV.USERS, this.gs.userId, RelationshipType.ACCESSGROUPS) ); - const accessGroups = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const accessGroups = new JsonAPISerializer().deserialize(response, zAccessGroupListResponse); this.selectAccessgroup = transformSelectOptions(accessGroups, ACCESS_GROUP_FIELD_MAPPING); this.changeDetectorRef.detectChanges(); diff --git a/src/app/hashlists/hashes/hashes.component.ts b/src/app/hashlists/hashes/hashes.component.ts index fedf86a02..f0642f6b9 100644 --- a/src/app/hashlists/hashes/hashes.component.ts +++ b/src/app/hashlists/hashes/hashes.component.ts @@ -14,6 +14,7 @@ import { AutoTitleService } from '@services/shared/autotitle.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; import { displays, filters } from '@src/app/core/_constants/hashes.config'; +import { zChunkResponse, zHashlistResponse, zTaskResponse } from '@generated/api/zod.gen'; /** * The `HashesComponent` is for managing and displaying a list of hashes @@ -137,10 +138,7 @@ export class HashesComponent implements OnInit, OnDestroy { case 'chunkshash': this.whichView = 'chunks'; this.gs.get(SERV.CHUNKS, this.editedIndex).subscribe((response: ResponseWrapper) => { - const chunk = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const chunk: JChunk = new JsonAPISerializer().deserialize(response, zChunkResponse); this.titleName = String(chunk.id); }); break; @@ -148,10 +146,7 @@ export class HashesComponent implements OnInit, OnDestroy { case 'taskhas': this.whichView = 'tasks'; this.gs.get(SERV.TASKS, this.editedIndex).subscribe((response: ResponseWrapper) => { - const task = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const task: JTask = new JsonAPISerializer().deserialize(response, zTaskResponse); this.titleName = task.taskName; }); break; @@ -159,10 +154,7 @@ export class HashesComponent implements OnInit, OnDestroy { case 'hashlisthash': this.whichView = 'hashlists'; this.gs.get(SERV.HASHLISTS, this.editedIndex).subscribe((response: ResponseWrapper) => { - const hashlist = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const hashlist: JHashlist = new JsonAPISerializer().deserialize(response, zHashlistResponse); this.titleName = hashlist.name; }); break; diff --git a/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts b/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts index cfde6f940..a092664d7 100644 --- a/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts +++ b/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts @@ -26,6 +26,7 @@ import { } from '@src/app/hashlists/import-cracked-hashes/import-cracked-hashes.form'; import { SelectOption } from '@src/app/shared/utils/forms'; import { handleEncode, removeFakePath } from '@src/app/shared/utils/forms'; +import { zHashlistResponse } from '@generated/api/zod.gen'; /** * Component for import pre cracked hashes @@ -359,10 +360,7 @@ export class ImportCrackedHashesComponent implements OnInit, OnDestroy { include: ['tasks,hashlists,hashType'] }) .subscribe((response: ResponseWrapper) => { - const hashlist = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const hashlist: JHashlist = new JsonAPISerializer().deserialize(response, zHashlistResponse) as JHashlist; this.type = hashlist.format; this.hashtype = hashlist.hashType; diff --git a/src/app/hashlists/new-hashlist/new-hashlist.component.ts b/src/app/hashlists/new-hashlist/new-hashlist.component.ts index ec1f8a107..e628c6fd4 100644 --- a/src/app/hashlists/new-hashlist/new-hashlist.component.ts +++ b/src/app/hashlists/new-hashlist/new-hashlist.component.ts @@ -28,6 +28,7 @@ import { FileSizePipe } from '@src/app/core/_pipes/file-size.pipe'; import { NewHashlistForm, getNewHashlistForm } from '@src/app/hashlists/new-hashlist/new-hashlist.form'; import { HashtypeDetectorComponent } from '@src/app/shared/hashtype-detector/hashtype-detector.component'; import { SelectOption, handleEncode, removeFakePath, transformSelectOptions } from '@src/app/shared/utils/forms'; +import { zAccessGroupListResponse, zConfigResponse, zHashTypeListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-new-hashlist', @@ -167,10 +168,7 @@ export class NewHashlistComponent implements OnInit, OnDestroy { const accessGroupSubscription = this.gs .getRelationships(SERV.USERS, this.gs.userId, RelationshipType.ACCESSGROUPS) .subscribe((response: ResponseWrapper) => { - const accessGroups = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const accessGroups: JAccessGroup[] = new JsonAPISerializer().deserialize(response, zAccessGroupListResponse); this.selectAccessgroup = transformSelectOptions(accessGroups, ACCESS_GROUP_FIELD_MAPPING); this.isLoadingAccessGroups = false; this.changeDetectorRef.detectChanges(); @@ -178,10 +176,7 @@ export class NewHashlistComponent implements OnInit, OnDestroy { this.unsubscribeService.add(accessGroupSubscription); const hashtypesSubscription$ = this.gs.getAll(SERV.HASHTYPES).subscribe((response: ResponseWrapper) => { - this.hashtypes = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + this.hashtypes = new JsonAPISerializer().deserialize(response, zHashTypeListResponse); this.selectHashtypes = transformSelectOptions(this.hashtypes, HASHTYPE_FIELD_MAPPING); this.isLoadingHashtypes = false; this.changeDetectorRef.detectChanges(); @@ -199,7 +194,7 @@ export class NewHashlistComponent implements OnInit, OnDestroy { */ loadConfigs() { const configSubscription$ = this.gs.get(SERV.CONFIGS, 66).subscribe((response: ResponseWrapper) => { - const config = new JsonAPISerializer().deserialize({ data: response.data, included: response.included }); + const config: JConfig = new JsonAPISerializer().deserialize(response, zConfigResponse); this.brainenabled = Number(config.value); this.form.patchValue({ useBrain: !!this.brainenabled }); this.changeDetectorRef.detectChanges(); diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index 5835ebde5..cee4a17cd 100644 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -3,6 +3,7 @@ import { Observable, Subscription, catchError, forkJoin, map, of } from 'rxjs'; import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout'; import { Component, OnDestroy, OnInit, inject } from '@angular/core'; +import { JHash } from '@models/hash.model'; import { TaskType } from '@models/task.model'; import { PermissionService } from '@services/permission/permission.service'; @@ -12,7 +13,6 @@ import { ThemeService } from '@services/shared/theme.service'; import { Perm } from '@src/app/core/_constants/userpermissions.config'; import { PageTitle } from '@src/app/core/_decorators/autotitle'; import { UIConfig } from '@src/app/core/_models/config-ui.model'; -import { JHash } from '@src/app/core/_models/hash.model'; import { FilterType } from '@src/app/core/_models/request-params.model'; import { ResponseWrapper } from '@src/app/core/_models/response.model'; import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; @@ -22,6 +22,7 @@ import { RequestParamBuilder } from '@src/app/core/_services/params/builder-impl import { LocalStorageService } from '@src/app/core/_services/storage/local-storage.service'; import { UISettingsUtilityClass } from '@src/app/shared/utils/config'; import { formatUnixTimestamp, unixTimestampInPast } from '@src/app/shared/utils/datetime'; +import { zHashListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-home', @@ -352,10 +353,7 @@ export class HomeComponent implements OnInit, OnDestroy { return this.gs.getAll(SERV.HASHES, params).pipe( map((res: ResponseWrapper) => { - const hashes = new JsonAPISerializer().deserialize({ - data: res.data, - included: res.included - }); + const hashes: JHash[] = new JsonAPISerializer().deserialize(res, zHashListResponse); const formattedDates: string[] = hashes.map((h) => formatUnixTimestamp(h.timeCracked, 'yyyy-MM-dd')); const dateCounts = this.countOccurrences(formattedDates); diff --git a/src/app/shared/graphs/task-visual/task-visual.component.ts b/src/app/shared/graphs/task-visual/task-visual.component.ts index 080f33fc5..cbb3530de 100644 --- a/src/app/shared/graphs/task-visual/task-visual.component.ts +++ b/src/app/shared/graphs/task-visual/task-visual.component.ts @@ -10,6 +10,7 @@ import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { GlobalService } from '@services/main.service'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; +import { zChunkListResponse, zTaskListResponse, zTaskWrapperListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'task-visual', @@ -67,8 +68,7 @@ export class TaskVisualComponent implements AfterViewInit { .create(); this.gs.getAll(SERV.TASKS, paramsTasks).subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const tasks = new JsonAPISerializer().deserialize(responseBody); + const tasks: JTask[] = new JsonAPISerializer().deserialize(response, zTaskListResponse); const paramsTaskWrapper = new RequestParamBuilder() .addFilter({ field: 'taskWrapperId', operator: FilterType.EQUAL, value: tasks[0].taskWrapperId }) @@ -76,13 +76,11 @@ export class TaskVisualComponent implements AfterViewInit { .create(); this.gs.getAll(SERV.TASKS_WRAPPER, paramsTaskWrapper).subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const taskWrappers = new JsonAPISerializer().deserialize(responseBody); + const taskWrappers: JTaskWrapper[] = new JsonAPISerializer().deserialize(response, zTaskWrapperListResponse); if (taskWrappers[0].taskType === TaskType.SUPERTASK && this.view === 'supertask') { for (let i = 0; i < taskWrappers.length; i++) { this.gs.getAll(SERV.CHUNKS, paramsTasks).subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const chunks = new JsonAPISerializer().deserialize(responseBody); + const chunks: JChunk[] = new JsonAPISerializer().deserialize(response, zChunkListResponse); const progress = []; let cracked = []; @@ -124,8 +122,7 @@ export class TaskVisualComponent implements AfterViewInit { } } else { this.gs.getAll(SERV.CHUNKS, paramsTasks).subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const ch = new JsonAPISerializer().deserialize(responseBody); // Get chunks by id + const ch: JChunk[] = new JsonAPISerializer().deserialize(response, zChunkListResponse); // Get chunks by id // Getting variables const keyspace = Number(this.tkeyspace); // Get Keyspace Progress diff --git a/src/app/shared/report-builder/datasources/hashlists.datasource.ts b/src/app/shared/report-builder/datasources/hashlists.datasource.ts index 5b6b1949a..141d66401 100644 --- a/src/app/shared/report-builder/datasources/hashlists.datasource.ts +++ b/src/app/shared/report-builder/datasources/hashlists.datasource.ts @@ -7,6 +7,7 @@ import { JHashlist } from '@models/hashlist.model'; import { JTask } from '@models/task.model'; import { JsonAPISerializer } from '@services/api/serializer-service'; +import { zHashlistResponse } from '@generated/api/zod.gen'; export class HashlistReportDataSource extends ReportBaseDataSource { private _hashlistId = 0; @@ -29,8 +30,7 @@ export class HashlistReportDataSource extends ReportBaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response) => { - const responseBody = { data: response.data, included: response.included }; - const hashlist = new JsonAPISerializer().deserialize(responseBody); + const hashlist: JHashlist = new JsonAPISerializer().deserialize(response, zHashlistResponse); const res = this.getReport(hashlist); this.setData(res); diff --git a/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts b/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts index e3f0a219b..7f160e3ce 100644 --- a/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts +++ b/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts @@ -22,6 +22,8 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { yesNo } from '@src/app/core/_constants/general.config'; import { attackCommandWithAliasValidator } from '@src/app/core/_validators/attack-command.validator'; +import { zPretaskResponse } from '@generated/api/zod.gen'; + /** * Represents the EditPreconfiguredTasksComponent responsible for editing a Pretask. */ @@ -147,10 +149,7 @@ export class EditPreconfiguredTasksComponent implements OnInit, OnDestroy { const response = await firstValueFrom(this.http.get(url)); - const pretask = this.serializer.deserialize({ - data: response.data, - included: response.included - }); + const pretask: JPretask = this.serializer.deserialize(response, zPretaskResponse); this.updateForm = new FormGroup({ pretaskId: new FormControl({ diff --git a/src/app/tasks/edit-supertasks/edit-supertasks.component.ts b/src/app/tasks/edit-supertasks/edit-supertasks.component.ts index eec120a48..9615b124b 100644 --- a/src/app/tasks/edit-supertasks/edit-supertasks.component.ts +++ b/src/app/tasks/edit-supertasks/edit-supertasks.component.ts @@ -22,6 +22,8 @@ import { PretasksTableComponent } from '@components/tables/pretasks-table/pretas import { SUPER_TASK_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; +import { zPretaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; + @Component({ selector: 'app-edit-supertasks', templateUrl: './edit-supertasks.component.html', @@ -121,8 +123,7 @@ export class EditSupertasksComponent implements OnInit, OnDestroy { const params = new RequestParamBuilder().addInclude('pretasks').create(); const loadSTSubscription$ = this.gs.get(SERV.SUPER_TASKS, this.editedSTIndex, params).subscribe({ next: (response: ResponseWrapper) => { - const responseData = { data: response.data, included: response.included }; - const supertask = this.serializer.deserialize(responseData); + const supertask: JSuperTask = this.serializer.deserialize(response, zSupertaskResponse); this.editName = supertask.supertaskName; this.viewForm = new FormGroup({ supertaskId: new FormControl({ @@ -137,9 +138,8 @@ export class EditSupertasksComponent implements OnInit, OnDestroy { if (this.roleService.hasRole('editSupertaskPreTasks')) { const loadPTSubscription$ = this.gs.getAll(SERV.PRETASKS).subscribe((responsePT: ResponseWrapper) => { - const responseDataPT = { data: responsePT.data, included: responsePT.included }; - const pretasks = this.serializer.deserialize(responseDataPT); - const availablePretasks = this.getAvailablePretasks(supertask.pretasks, pretasks); + const pretasks: JPretask[] = this.serializer.deserialize(responsePT, zPretaskListResponse); + const availablePretasks = this.getAvailablePretasks((supertask as any).pretasks as JPretask[], pretasks); this.selectPretasks = transformSelectOptions(availablePretasks, SUPER_TASK_FIELD_MAPPING); this.isLoading = false; @@ -164,8 +164,7 @@ export class EditSupertasksComponent implements OnInit, OnDestroy { console.warn('loadData(): request with includes failed, retrying without includes', err); const retry$ = this.gs.get(SERV.SUPER_TASKS, this.editedSTIndex).subscribe({ next: (response2: ResponseWrapper) => { - const responseData2 = { data: response2.data, included: response2.included }; - const supertask2 = this.serializer.deserialize(responseData2); + const supertask2: JSuperTask = this.serializer.deserialize(response2, zSupertaskResponse); this.editName = supertask2.supertaskName; this.viewForm = new FormGroup({ supertaskId: new FormControl({ value: supertask2.id, disabled: true }), @@ -173,9 +172,8 @@ export class EditSupertasksComponent implements OnInit, OnDestroy { }); // still try to load pretasks list for selection const loadPTSubscription2$ = this.gs.getAll(SERV.PRETASKS).subscribe((responsePT: ResponseWrapper) => { - const responseDataPT2 = { data: responsePT.data, included: responsePT.included }; - const pretasks = this.serializer.deserialize(responseDataPT2); - const availablePretasks = this.getAvailablePretasks(supertask2.pretasks, pretasks); + const pretasks: JPretask[] = this.serializer.deserialize(responsePT, zPretaskListResponse); + const availablePretasks = this.getAvailablePretasks((supertask2 as any).pretasks as JPretask[], pretasks); this.selectPretasks = transformSelectOptions(availablePretasks, SUPER_TASK_FIELD_MAPPING); this.isLoading = false; this.changeDetectorRef.detectChanges(); diff --git a/src/app/tasks/edit-tasks/edit-tasks.component.ts b/src/app/tasks/edit-tasks/edit-tasks.component.ts index 93eb65ab6..5b42b904d 100644 --- a/src/app/tasks/edit-tasks/edit-tasks.component.ts +++ b/src/app/tasks/edit-tasks/edit-tasks.component.ts @@ -10,12 +10,12 @@ import { ActivatedRoute, Router } from '@angular/router'; import { JAgentAssignment } from '@models/agent-assignment.model'; import { JAgent } from '@models/agent.model'; import { JCrackerBinary } from '@models/cracker-binary.model'; -import { JHashlist } from '@models/hashlist.model'; import { JHashtype } from '@models/hashtype.model'; +import { JHashlist } from '@models/hashlist.model'; import { FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; -import { SpeedStat } from '@models/speed-stat.model'; import { JTask } from '@models/task.model'; +import { SpeedStat } from '@models/speed-stat.model'; import { JsonAPISerializer } from '@services/api/serializer-service'; import { ConfirmDialogService } from '@services/confirm/confirm-dialog.service'; @@ -35,6 +35,8 @@ import { FileSizePipe } from '@src/app/core/_pipes/file-size.pipe'; import { attackCommandWithAliasValidator } from '@src/app/core/_validators/attack-command.validator'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; +import { zAgentListResponse, zAssignmentListResponse, zHashTypeResponse, zSpeedListResponse, zTaskResponse } from '@generated/api/zod.gen'; + @Component({ selector: 'app-edit-tasks', templateUrl: './edit-tasks.component.html', @@ -138,7 +140,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { if (task.hashlist && this.roleService.hasRole('editTaskInfoHashlist')) { this.hashlistinform = task.hashlist; this.gs.get(SERV.HASHTYPES, task.hashlist.hashTypeId).subscribe((response: ResponseWrapper) => { - const hashtype = this.serializer.deserialize({ data: response.data, included: response.included }); + const hashtype: JHashtype = this.serializer.deserialize(response, zHashTypeResponse); this.hashlistDescrip = hashtype.description; }); } @@ -254,7 +256,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { try { const response = await firstValueFrom(this.http.get(url, { params })); - return this.serializer.deserialize({ data: response.data, included: response.included }); + return this.serializer.deserialize(response, zTaskResponse) as JTask; } catch (err: unknown) { // If backend fails with server error (500+), try a fallback request without includes. // This helps when the server chokes resolving included relationships but the main @@ -262,7 +264,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { if (err instanceof HttpErrorResponse && err.status && err.status >= 500) { console.warn('loadTask(): primary request failed, retrying without includes', err); const responseFallback = await firstValueFrom(this.http.get(url)); - return this.serializer.deserialize({ data: responseFallback.data, included: responseFallback.included }); + return this.serializer.deserialize(responseFallback, zTaskResponse) as JTask; } throw err; } @@ -350,8 +352,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { } this.gs.getAll(SERV.AGENTS, params.create()).subscribe((responseAgents: ResponseWrapper) => { - const responseBodyAgents = { data: responseAgents.data, included: responseAgents.included }; - this.availAgents = this.serializer.deserialize(responseBodyAgents); + this.availAgents = this.serializer.deserialize(responseAgents, zAgentListResponse); this.selectAgents = transformSelectOptions(this.availAgents, AGENT_MAPPING); this.isLoadingAgents = false; }); @@ -361,11 +362,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { const paramsAgentAssign = new RequestParamBuilder(); paramsAgentAssign.addFilter({ field: 'taskId', operator: FilterType.EQUAL, value: this.editedTaskIndex }); this.gs.getAll(SERV.AGENT_ASSIGN, paramsAgentAssign.create()).subscribe((responseAssignments: ResponseWrapper) => { - const responseBodyAssignments = { - data: responseAssignments.data, - included: responseAssignments.included - }; - const agentAssignments = this.serializer.deserialize(responseBodyAssignments); + const agentAssignments: JAgentAssignment[] = this.serializer.deserialize(responseAssignments, zAssignmentListResponse); const agentAssignmentsAgentIds: Array = agentAssignments.map( (agentAssignment) => agentAssignment.agentId ); @@ -459,7 +456,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { .setPageSize(requestLimit); this.gs.getAll(SERV.SPEEDS, speedParams.create()).subscribe((response: ResponseWrapper) => { - const speeds = this.serializer.deserialize({ data: response.data, included: response.included }); + const speeds: SpeedStat[] = this.serializer.deserialize(response, zSpeedListResponse); this.originalValue.speeds = [...speeds].reverse(); }); } diff --git a/src/app/tasks/import-supertasks/masks/masks.component.ts b/src/app/tasks/import-supertasks/masks/masks.component.ts index 09699c4e4..e97a13c93 100644 --- a/src/app/tasks/import-supertasks/masks/masks.component.ts +++ b/src/app/tasks/import-supertasks/masks/masks.component.ts @@ -5,6 +5,7 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angula import { FormControl, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; +import { JCrackerBinaryType } from '@models/cracker-binary.model'; import { HorizontalNav } from '@models/horizontalnav.model'; import { JPretask } from '@models/pretask.model'; @@ -15,11 +16,12 @@ import { AutoTitleService } from '@services/shared/autotitle.service'; import { UIConfigService } from '@services/shared/storage.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; -import { JCrackerBinaryType } from '@src/app/core/_models/cracker-binary.model'; import { ResponseWrapper } from '@src/app/core/_models/response.model'; import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; +import { zCrackerBinaryTypeListResponse, zPretaskResponse } from '@generated/api/zod.gen'; + /** * ImportSupertaskMaskComponent is a component responsible for importing SuperTasks with masks. * @@ -120,8 +122,7 @@ export class MasksComponent implements OnInit, OnDestroy { */ loadData(): void { const loadSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const crackerBinaryTypes = this.serializer.deserialize(responseBody); + const crackerBinaryTypes: JCrackerBinaryType[] = this.serializer.deserialize(response, zCrackerBinaryTypeListResponse) as JCrackerBinaryType[]; this.selectCrackertype = transformSelectOptions(crackerBinaryTypes, CRACKER_TYPE_FIELD_MAPPING); }); @@ -169,9 +170,7 @@ export class MasksComponent implements OnInit, OnDestroy { // Create a subscription promise and push it to the array const subscriptionPromise = new Promise((resolve, reject) => { const onSubmitSubscription$ = this.gs.create(SERV.PRETASKS, payload).subscribe((result) => { - const pretask = new JsonAPISerializer().deserialize({ - data: result.data - }); + const pretask: JPretask = new JsonAPISerializer().deserialize(result, zPretaskResponse); preTasksIds.push(pretask.id); resolve(); // Resolve the promise when subscription completes }, reject); // Reject the promise if there's an error diff --git a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts index d0e73ff68..962695291 100644 --- a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts +++ b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts @@ -22,6 +22,8 @@ import { CRACKER_TYPE_FIELD_MAPPING } from '@src/app/core/_constants/select.conf import { benchmarkType } from '@src/app/core/_constants/tasks.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; +import { zCrackerBinaryTypeListResponse, zFileResponse, zPretaskResponse } from '@generated/api/zod.gen'; + @Component({ selector: 'app-wrbulk', templateUrl: './wrbulk.component.html', @@ -110,8 +112,7 @@ export class WrbulkComponent implements OnInit, OnDestroy { */ loadData() { const loadSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const responseBody = { data: response.data, included: response.included }; - const crackerBinaryTypes = this.serializer.deserialize(responseBody); + const crackerBinaryTypes: JCrackerBinaryType[] = this.serializer.deserialize(response, zCrackerBinaryTypeListResponse) as JCrackerBinaryType[]; this.selectCrackertype = transformSelectOptions(crackerBinaryTypes, CRACKER_TYPE_FIELD_MAPPING); }); @@ -150,10 +151,7 @@ export class WrbulkComponent implements OnInit, OnDestroy { const fileName: string = await new Promise((resolve, reject) => { const fileSubscription$ = this.gs.get(SERV.FILES, iter).subscribe({ next: (response: ResponseWrapper) => { - const file = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const file: JFile = new JsonAPISerializer().deserialize(response, zFileResponse); resolve(file.filename); }, error: reject @@ -167,7 +165,7 @@ export class WrbulkComponent implements OnInit, OnDestroy { payload.attackCmd = updatedAttackCmd; const result: ResponseWrapper = await firstValueFrom(this.gs.create(SERV.PRETASKS, payload)); - const pretask = new JsonAPISerializer().deserialize({ data: result.data, included: result.included }); + const pretask: JPretask = new JsonAPISerializer().deserialize(result, zPretaskResponse); preTasksIds.push(pretask.id); }); diff --git a/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts b/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts index a1deb7d68..a6e183c52 100644 --- a/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts +++ b/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts @@ -21,6 +21,8 @@ import { benchmarkType } from '@src/app/core/_constants/tasks.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; import { NewPretaskForm, getNewPretaskForm } from '@src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.form'; +import { zCrackerBinaryTypeListResponse } from '@generated/api/zod.gen'; + @Component({ selector: 'app-new-preconfigured-tasks', templateUrl: './new-preconfigured-tasks.component.html', @@ -105,10 +107,7 @@ export class NewPreconfiguredTasksComponent implements OnInit, OnDestroy { loadData() { const loadCrackersSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerTypes = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const crackerTypes: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); }); this.unsubscribeService.add(loadCrackersSubscription$); diff --git a/src/app/tasks/new-tasks/new-tasks.component.ts b/src/app/tasks/new-tasks/new-tasks.component.ts index e2144ac93..305a45918 100644 --- a/src/app/tasks/new-tasks/new-tasks.component.ts +++ b/src/app/tasks/new-tasks/new-tasks.component.ts @@ -6,7 +6,7 @@ import { FormGroup } from '@angular/forms'; import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute, Router } from '@angular/router'; -import { JCrackerBinary, JCrackerBinaryType } from '@models/cracker-binary.model'; +import { JCrackerBinaryType, JCrackerBinary } from '@models/cracker-binary.model'; import { FileType, TaskSelectFile } from '@models/file.model'; import { JHashlist } from '@models/hashlist.model'; import { JPreprocessor } from '@models/preprocessor.model'; @@ -36,6 +36,8 @@ import { AttackCommandData, NewTaskForm, getNewTaskForm } from '@src/app/tasks/n import { NewTaskRouteKind } from '@src/app/tasks/tasks-routing.constants'; import { environment } from '@src/environments/environment'; +import { zCrackerBinaryListResponse, zCrackerBinaryTypeListResponse, zHashlistListResponse, zPreprocessorListResponse } from '@generated/api/zod.gen'; + type FileId = number; type HashListId = number; @@ -183,10 +185,7 @@ export class NewTasksComponent implements OnInit { const filter: Filter[] = [{ field: 'isArchived', operator: FilterType.EQUAL, value: false }]; try { const response: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.HASHLISTS, { filter })); - const hashlists = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const hashlists: JHashlist[] = new JsonAPISerializer().deserialize(response, zHashlistListResponse); this.selectHashlists = transformSelectOptions(hashlists, DEFAULT_FIELD_MAPPING); this.isLoading = false; if (!this.selectHashlists.length) { @@ -205,10 +204,7 @@ export class NewTasksComponent implements OnInit { private async loadCrackerSelectOptions(): Promise { try { const typeResponse: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.CRACKERS_TYPES)); - const crackerTypes = new JsonAPISerializer().deserialize({ - data: typeResponse.data, - included: typeResponse.included - }); + const crackerTypes: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(typeResponse, zCrackerBinaryTypeListResponse); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); let typeId = this.selectCrackertype.find((obj) => obj.name === 'hashcat')?.id; @@ -226,10 +222,7 @@ export class NewTasksComponent implements OnInit { const versionResponse: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.CRACKERS, requestParams)); - const crackers = new JsonAPISerializer().deserialize({ - data: versionResponse.data, - included: versionResponse.included - }); + const crackers: JCrackerBinary[] = new JsonAPISerializer().deserialize(versionResponse, zCrackerBinaryListResponse); this.selectCrackerversions = transformSelectOptions(crackers, CRACKER_VERSION_FIELD_MAPPING); @@ -250,10 +243,7 @@ export class NewTasksComponent implements OnInit { private async loadPreprocessorSelectOptions(): Promise { try { const response: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.PREPROCESSORS)); - const preprocessors = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const preprocessors: JPreprocessor[] = new JsonAPISerializer().deserialize(response, zPreprocessorListResponse); this.selectPreprocessor = transformSelectOptions(preprocessors, DEFAULT_FIELD_MAPPING); this.changeDetectorRef.detectChanges(); } catch (error) { @@ -312,10 +302,7 @@ export class NewTasksComponent implements OnInit { try { const response: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.CRACKERS, requestParams)); - const crackers = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const crackers: JCrackerBinary[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryListResponse); this.selectCrackerversions = transformSelectOptions(crackers, CRACKER_VERSION_FIELD_MAPPING); // Select the last version by default diff --git a/src/app/tasks/supertasks/applyhashlist.component.ts b/src/app/tasks/supertasks/applyhashlist.component.ts index 27ab424df..55dab187c 100644 --- a/src/app/tasks/supertasks/applyhashlist.component.ts +++ b/src/app/tasks/supertasks/applyhashlist.component.ts @@ -22,6 +22,8 @@ import { } from '@src/app/core/_constants/select.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; +import { zCrackerBinaryTypeListResponse, zHashlistListResponse } from '@generated/api/zod.gen'; + /** * ApplyHashlistComponent is a component responsible for managing and applying hashlists. * @@ -158,10 +160,7 @@ export class ApplyHashlistComponent implements OnInit, OnDestroy { const loadHashlistsSubscription$ = this.gs .getAll(SERV.HASHLISTS, requestParams) .subscribe((response: ResponseWrapper) => { - const hashlists = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const hashlists: JHashlist[] = new JsonAPISerializer().deserialize(response, zHashlistListResponse); this.selectHashlists = transformSelectOptions(hashlists, DEFAULT_FIELD_MAPPING); this.isLoading = false; if (!this.selectHashlists.length) { @@ -178,10 +177,7 @@ export class ApplyHashlistComponent implements OnInit, OnDestroy { loadCrackerSelectOptions() { // Load Cracker Types and Crackers Select Options const loadCrackerTypesSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerTypes = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const crackerTypes: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); let id = ''; if (this.selectCrackertype.find((obj) => obj.name === 'hashcat').id) { @@ -195,10 +191,7 @@ export class ApplyHashlistComponent implements OnInit, OnDestroy { const loadCrackersSubscription$ = this.gs .getAll(SERV.CRACKERS, requestParams) .subscribe((response: ResponseWrapper) => { - const crackers = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const crackers: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); this.selectCrackerversions = transformSelectOptions(crackers, CRACKER_VERSION_FIELD_MAPPING); const lastItem = this.selectCrackerversions.slice(-1)[0]['id']; this.form.get('crackerBinaryTypeId').patchValue(lastItem); @@ -222,10 +215,7 @@ export class ApplyHashlistComponent implements OnInit, OnDestroy { const onChangeBinarySubscription$ = this.gs .getAll(SERV.CRACKERS, requestParams) .subscribe((response: ResponseWrapper) => { - const crackers = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const crackers: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); this.selectCrackerversions = transformSelectOptions(crackers, CRACKER_VERSION_FIELD_MAPPING); const lastItem = this.selectCrackerversions.slice(-1)[0]['id']; this.form.get('crackerBinaryTypeId').patchValue(lastItem); diff --git a/src/app/users/edit-groups/edit-groups.component.ts b/src/app/users/edit-groups/edit-groups.component.ts index c7e595228..aacfcd0b1 100644 --- a/src/app/users/edit-groups/edit-groups.component.ts +++ b/src/app/users/edit-groups/edit-groups.component.ts @@ -4,6 +4,7 @@ import { Component, OnDestroy, OnInit, ViewChild, inject } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { ActivatedRoute, Params, Router } from '@angular/router'; +import { JAccessGroup } from '@models/access-group.model'; import { JAgent } from '@models/agent.model'; import { FilterType } from '@models/request-params.model'; @@ -15,7 +16,6 @@ import { AccessGroupsAgentsTableComponent } from '@components/tables/access-grou import { AccessGroupsUserTableComponent } from '@components/tables/access-groups-users-table/access-groups-users-table.component'; import { AGENT_MAPPING, DEFAULT_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; -import { JAccessGroup } from '@src/app/core/_models/access-group.model'; import { ResponseWrapper } from '@src/app/core/_models/response.model'; import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; import { RelationshipType, SERV } from '@src/app/core/_services/main.config'; @@ -30,6 +30,7 @@ import { getAddAgentsForm, getAddUsersForm } from '@src/app/users/edit-groups/edit-groups.form'; +import { zAccessGroupListResponse, zAccessGroupResponse, zAgentListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-edit-groups', @@ -128,10 +129,7 @@ export class EditGroupsComponent implements OnInit, OnDestroy { this.gs.get(SERV.ACCESS_GROUPS, this.editedAccessGroupIndex, requestParams) ); - this.accessGroup = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + this.accessGroup = new JsonAPISerializer().deserialize(response, zAccessGroupResponse) as JAccessGroup; } catch (error) { console.error('Failed to load access group data:', error); } @@ -152,10 +150,7 @@ export class EditGroupsComponent implements OnInit, OnDestroy { const requestParams = requestParamBuilder.create(); const response: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.USERS, requestParams)); - const users = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const users: JAccessGroup[] = new JsonAPISerializer().deserialize(response, zAccessGroupListResponse); this.selectUsers = transformSelectOptions(users, DEFAULT_FIELD_MAPPING); } } catch (error) { @@ -181,10 +176,7 @@ export class EditGroupsComponent implements OnInit, OnDestroy { } const requestParams = requestParamBuilder.create(); const response: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.AGENTS, requestParams)); - const agents = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const agents: JAgent[] = new JsonAPISerializer().deserialize(response, zAgentListResponse); this.selectAgents = transformSelectOptions(agents, AGENT_MAPPING); } } catch (error) { diff --git a/src/app/users/edit-users/edit-users.component.ts b/src/app/users/edit-users/edit-users.component.ts index eb99e69c0..53ebb321b 100644 --- a/src/app/users/edit-users/edit-users.component.ts +++ b/src/app/users/edit-users/edit-users.component.ts @@ -4,8 +4,8 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angula import { FormGroup } from '@angular/forms'; import { ActivatedRoute, Params, Router } from '@angular/router'; -import { JGlobalPermissionGroup } from '@models/global-permission-group.model'; import { ResponseWrapper } from '@models/response.model'; +import { JGlobalPermissionGroup } from '@models/global-permission-group.model'; import { JUser } from '@models/user.model'; import { JsonAPISerializer } from '@services/api/serializer-service'; @@ -28,6 +28,7 @@ import { getEditUserForm, getUpdatePassForm } from '@src/app/users/edit-users/edit-user.form'; +import { zRightGroupListResponse, zUserResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-edit-users', @@ -115,7 +116,7 @@ export class EditUsersComponent implements OnInit, OnDestroy { const loaduserAGPSubscription$ = this.gs .get(SERV.USERS, this.editedUserIndex, params) .subscribe((response: ResponseWrapper) => { - const user = new JsonAPISerializer().deserialize({ data: response.data, included: response.included }); + const user: JUser = new JsonAPISerializer().deserialize(response, zUserResponse) as JUser; this.selectUserAgps = transformSelectOptions(user.accessGroups, USER_AGP_FIELD_MAPPING); this.editedUserName = user.name; }); @@ -125,10 +126,7 @@ export class EditUsersComponent implements OnInit, OnDestroy { const loadAGPSubscription$ = this.gs .getAll(SERV.ACCESS_PERMISSIONS_GROUPS) .subscribe((response: ResponseWrapper) => { - const globalPermissionGroups = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const globalPermissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize(response, zRightGroupListResponse) as JGlobalPermissionGroup[]; this.selectGlobalPermissionGroups = transformSelectOptions(globalPermissionGroups, DEFAULT_FIELD_MAPPING); this.isLoading = false; this.changeDetectorRef.detectChanges(); @@ -146,7 +144,7 @@ export class EditUsersComponent implements OnInit, OnDestroy { const loadSubscription$ = this.gs .get(SERV.USERS, this.editedUserIndex, params) .subscribe((response: ResponseWrapper) => { - const user = new JsonAPISerializer().deserialize({ data: response.data, included: response.included }); + const user: JUser = new JsonAPISerializer().deserialize(response, zUserResponse) as JUser; this.updateForm.setValue({ id: user.id, diff --git a/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts b/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts index f475c3277..23d6d942f 100644 --- a/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts +++ b/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts @@ -15,6 +15,8 @@ import { AlertService } from '@services/shared/alert.service'; import { AutoTitleService } from '@services/shared/autotitle.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; +import { zRightGroupResponse } from '@generated/api/zod.gen'; + @Component({ selector: 'app-edit-globalpermissionsgroups', templateUrl: './edit-globalpermissionsgroups.component.html', @@ -92,10 +94,7 @@ export class EditGlobalpermissionsgroupsComponent implements OnInit, OnDestroy { }) .subscribe((response: ResponseWrapper) => { if (response) { - this.editedGPG = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + this.editedGPG = new JsonAPISerializer().deserialize(response, zRightGroupResponse) as JGlobalPermissionGroup; const formValues = this.buildFormValues(); this.updateForm.patchValue(formValues); } diff --git a/src/app/users/new-user/new-user.component.ts b/src/app/users/new-user/new-user.component.ts index 64d465425..24dfafdd4 100644 --- a/src/app/users/new-user/new-user.component.ts +++ b/src/app/users/new-user/new-user.component.ts @@ -18,6 +18,7 @@ import { AlertService } from '@services/shared/alert.service'; import { DEFAULT_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; import { NewUserForm, getNewUserForm } from '@src/app/users/new-user/new-user.form'; +import { zRightGroupListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-new-user', @@ -46,10 +47,7 @@ export class NewUserComponent implements OnInit { try { const response = await firstValueFrom(this.gs.getAll(SERV.ACCESS_PERMISSIONS_GROUPS)); - const permissionGroups = new JsonAPISerializer().deserialize({ - data: response.data, - included: response.included - }); + const permissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize(response, zRightGroupListResponse) as JGlobalPermissionGroup[]; this.selectGlobalPermissionGroups = transformSelectOptions(permissionGroups, DEFAULT_FIELD_MAPPING); } catch { this.alert.showErrorMessage('Error fetching permission groups'); diff --git a/src/generated/api/index.ts b/src/generated/api/index.ts index a4f18ad5b..5a7f91274 100644 --- a/src/generated/api/index.ts +++ b/src/generated/api/index.ts @@ -1,3 +1,3 @@ // This file is auto-generated by @hey-api/openapi-ts -export type { AbortChunkHelperApi, AbortChunkHelperApiResponse, AccessGroupCreate, AccessGroupPatch, AccessGroupPostPatchResponse, AccessGroupRelationAgentMembers, AccessGroupRelationAgentMembersGetResponse, AccessGroupResponse, AgentBinaryCreate, AgentBinaryPatch, AgentBinaryPostPatchResponse, AgentBinaryResponse, AgentErrorRelationTask, AgentErrorRelationTaskGetResponse, AgentErrorResponse, AgentPatch, AgentPostPatchResponse, AgentRelationAssignments, AgentRelationAssignmentsGetResponse, AgentResponse, AgentStatResponse, AssignAgentHelperApi, AssignAgentHelperApiResponse, AssignmentCreate, AssignmentPatch, AssignmentPostPatchResponse, AssignmentRelationTask, AssignmentRelationTaskGetResponse, AssignmentResponse, BulkSupertaskBuilderHelperApi, ChangeOwnPasswordHelperApi, ChangeOwnPasswordHelperApiResponse, ChunkRelationTask, ChunkRelationTaskGetResponse, ChunkResponse, ClientOptions, ConfigPatch, ConfigPostPatchResponse, ConfigRelationConfigSection, ConfigRelationConfigSectionGetResponse, ConfigResponse, ConfigSectionResponse, CrackerBinaryCreate, CrackerBinaryPatch, CrackerBinaryPostPatchResponse, CrackerBinaryRelationTasks, CrackerBinaryRelationTasksGetResponse, CrackerBinaryResponse, CrackerBinaryTypeCreate, CrackerBinaryTypePatch, CrackerBinaryTypePostPatchResponse, CrackerBinaryTypeRelationTasks, CrackerBinaryTypeRelationTasksGetResponse, CrackerBinaryTypeResponse, CreateSuperHashlistHelperApi, CreateSupertaskHelperApi, DeleteAccessgroupsByIdData, DeleteAccessgroupsByIdError, DeleteAccessgroupsByIdErrors, DeleteAccessgroupsByIdRelationshipsByRelationData, DeleteAccessgroupsByIdRelationshipsByRelationError, DeleteAccessgroupsByIdRelationshipsByRelationErrors, DeleteAccessgroupsByIdRelationshipsByRelationResponse, DeleteAccessgroupsByIdRelationshipsByRelationResponses, DeleteAccessgroupsByIdResponse, DeleteAccessgroupsByIdResponses, DeleteAccessgroupsData, DeleteAccessgroupsError, DeleteAccessgroupsErrors, DeleteAccessgroupsResponses, DeleteAgentassignmentsByIdData, DeleteAgentassignmentsByIdError, DeleteAgentassignmentsByIdErrors, DeleteAgentassignmentsByIdResponse, DeleteAgentassignmentsByIdResponses, DeleteAgentassignmentsData, DeleteAgentassignmentsError, DeleteAgentassignmentsErrors, DeleteAgentassignmentsResponses, DeleteAgentbinariesByIdData, DeleteAgentbinariesByIdError, DeleteAgentbinariesByIdErrors, DeleteAgentbinariesByIdResponse, DeleteAgentbinariesByIdResponses, DeleteAgentbinariesData, DeleteAgentbinariesError, DeleteAgentbinariesErrors, DeleteAgentbinariesResponses, DeleteAgenterrorsByIdData, DeleteAgenterrorsByIdError, DeleteAgenterrorsByIdErrors, DeleteAgenterrorsByIdResponse, DeleteAgenterrorsByIdResponses, DeleteAgenterrorsData, DeleteAgenterrorsError, DeleteAgenterrorsErrors, DeleteAgenterrorsResponses, DeleteAgentsByIdData, DeleteAgentsByIdError, DeleteAgentsByIdErrors, DeleteAgentsByIdRelationshipsByRelationData, DeleteAgentsByIdRelationshipsByRelationError, DeleteAgentsByIdRelationshipsByRelationErrors, DeleteAgentsByIdRelationshipsByRelationResponse, DeleteAgentsByIdRelationshipsByRelationResponses, DeleteAgentsByIdResponse, DeleteAgentsByIdResponses, DeleteAgentsData, DeleteAgentsError, DeleteAgentsErrors, DeleteAgentsResponses, DeleteAgentstatsByIdData, DeleteAgentstatsByIdError, DeleteAgentstatsByIdErrors, DeleteAgentstatsByIdResponse, DeleteAgentstatsByIdResponses, DeleteAgentstatsData, DeleteAgentstatsError, DeleteAgentstatsErrors, DeleteAgentstatsResponses, DeleteApiTokensByIdData, DeleteApiTokensByIdError, DeleteApiTokensByIdErrors, DeleteApiTokensByIdResponse, DeleteApiTokensByIdResponses, DeleteApiTokensData, DeleteApiTokensError, DeleteApiTokensErrors, DeleteApiTokensResponses, DeleteCrackersByIdData, DeleteCrackersByIdError, DeleteCrackersByIdErrors, DeleteCrackersByIdRelationshipsByRelationData, DeleteCrackersByIdRelationshipsByRelationError, DeleteCrackersByIdRelationshipsByRelationErrors, DeleteCrackersByIdRelationshipsByRelationResponse, DeleteCrackersByIdRelationshipsByRelationResponses, DeleteCrackersByIdResponse, DeleteCrackersByIdResponses, DeleteCrackersData, DeleteCrackersError, DeleteCrackersErrors, DeleteCrackersResponses, DeleteCrackertypesByIdData, DeleteCrackertypesByIdError, DeleteCrackertypesByIdErrors, DeleteCrackertypesByIdRelationshipsByRelationData, DeleteCrackertypesByIdRelationshipsByRelationError, DeleteCrackertypesByIdRelationshipsByRelationErrors, DeleteCrackertypesByIdRelationshipsByRelationResponse, DeleteCrackertypesByIdRelationshipsByRelationResponses, DeleteCrackertypesByIdResponse, DeleteCrackertypesByIdResponses, DeleteCrackertypesData, DeleteCrackertypesError, DeleteCrackertypesErrors, DeleteCrackertypesResponses, DeleteFilesByIdData, DeleteFilesByIdError, DeleteFilesByIdErrors, DeleteFilesByIdResponse, DeleteFilesByIdResponses, DeleteFilesData, DeleteFilesError, DeleteFilesErrors, DeleteFilesResponses, DeleteGlobalpermissiongroupsByIdData, DeleteGlobalpermissiongroupsByIdError, DeleteGlobalpermissiongroupsByIdErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses, DeleteGlobalpermissiongroupsByIdResponse, DeleteGlobalpermissiongroupsByIdResponses, DeleteGlobalpermissiongroupsData, DeleteGlobalpermissiongroupsError, DeleteGlobalpermissiongroupsErrors, DeleteGlobalpermissiongroupsResponses, DeleteHashlistsByIdData, DeleteHashlistsByIdError, DeleteHashlistsByIdErrors, DeleteHashlistsByIdRelationshipsByRelationData, DeleteHashlistsByIdRelationshipsByRelationError, DeleteHashlistsByIdRelationshipsByRelationErrors, DeleteHashlistsByIdRelationshipsByRelationResponse, DeleteHashlistsByIdRelationshipsByRelationResponses, DeleteHashlistsByIdResponse, DeleteHashlistsByIdResponses, DeleteHashlistsData, DeleteHashlistsError, DeleteHashlistsErrors, DeleteHashlistsResponses, DeleteHashtypesByIdData, DeleteHashtypesByIdError, DeleteHashtypesByIdErrors, DeleteHashtypesByIdResponse, DeleteHashtypesByIdResponses, DeleteHashtypesData, DeleteHashtypesError, DeleteHashtypesErrors, DeleteHashtypesResponses, DeleteHealthchecksByIdData, DeleteHealthchecksByIdError, DeleteHealthchecksByIdErrors, DeleteHealthchecksByIdRelationshipsByRelationData, DeleteHealthchecksByIdRelationshipsByRelationError, DeleteHealthchecksByIdRelationshipsByRelationErrors, DeleteHealthchecksByIdRelationshipsByRelationResponse, DeleteHealthchecksByIdRelationshipsByRelationResponses, DeleteHealthchecksByIdResponse, DeleteHealthchecksByIdResponses, DeleteHealthchecksData, DeleteHealthchecksError, DeleteHealthchecksErrors, DeleteHealthchecksResponses, DeleteImportFileById09aF32Data, DeleteImportFileById09aF32Responses, DeleteLogentriesByIdData, DeleteLogentriesByIdError, DeleteLogentriesByIdErrors, DeleteLogentriesByIdResponse, DeleteLogentriesByIdResponses, DeleteLogentriesData, DeleteLogentriesError, DeleteLogentriesErrors, DeleteLogentriesResponses, DeleteNotificationsByIdData, DeleteNotificationsByIdError, DeleteNotificationsByIdErrors, DeleteNotificationsByIdResponse, DeleteNotificationsByIdResponses, DeleteNotificationsData, DeleteNotificationsError, DeleteNotificationsErrors, DeleteNotificationsResponses, DeletePreprocessorsByIdData, DeletePreprocessorsByIdError, DeletePreprocessorsByIdErrors, DeletePreprocessorsByIdResponse, DeletePreprocessorsByIdResponses, DeletePreprocessorsData, DeletePreprocessorsError, DeletePreprocessorsErrors, DeletePreprocessorsResponses, DeletePretasksByIdData, DeletePretasksByIdError, DeletePretasksByIdErrors, DeletePretasksByIdRelationshipsByRelationData, DeletePretasksByIdRelationshipsByRelationError, DeletePretasksByIdRelationshipsByRelationErrors, DeletePretasksByIdRelationshipsByRelationResponse, DeletePretasksByIdRelationshipsByRelationResponses, DeletePretasksByIdResponse, DeletePretasksByIdResponses, DeletePretasksData, DeletePretasksError, DeletePretasksErrors, DeletePretasksResponses, DeleteSupertasksByIdData, DeleteSupertasksByIdError, DeleteSupertasksByIdErrors, DeleteSupertasksByIdRelationshipsByRelationData, DeleteSupertasksByIdRelationshipsByRelationError, DeleteSupertasksByIdRelationshipsByRelationErrors, DeleteSupertasksByIdRelationshipsByRelationResponse, DeleteSupertasksByIdRelationshipsByRelationResponses, DeleteSupertasksByIdResponse, DeleteSupertasksByIdResponses, DeleteSupertasksData, DeleteSupertasksError, DeleteSupertasksErrors, DeleteSupertasksResponses, DeleteTasksByIdData, DeleteTasksByIdError, DeleteTasksByIdErrors, DeleteTasksByIdRelationshipsByRelationData, DeleteTasksByIdRelationshipsByRelationError, DeleteTasksByIdRelationshipsByRelationErrors, DeleteTasksByIdRelationshipsByRelationResponse, DeleteTasksByIdRelationshipsByRelationResponses, DeleteTasksByIdResponse, DeleteTasksByIdResponses, DeleteTasksData, DeleteTasksError, DeleteTasksErrors, DeleteTasksResponses, DeleteTaskwrappersByIdData, DeleteTaskwrappersByIdError, DeleteTaskwrappersByIdErrors, DeleteTaskwrappersByIdRelationshipsByRelationData, DeleteTaskwrappersByIdRelationshipsByRelationError, DeleteTaskwrappersByIdRelationshipsByRelationErrors, DeleteTaskwrappersByIdRelationshipsByRelationResponse, DeleteTaskwrappersByIdRelationshipsByRelationResponses, DeleteTaskwrappersByIdResponse, DeleteTaskwrappersByIdResponses, DeleteTaskwrappersData, DeleteTaskwrappersError, DeleteTaskwrappersErrors, DeleteTaskwrappersResponses, DeleteUsersByIdData, DeleteUsersByIdError, DeleteUsersByIdErrors, DeleteUsersByIdRelationshipsByRelationData, DeleteUsersByIdRelationshipsByRelationError, DeleteUsersByIdRelationshipsByRelationErrors, DeleteUsersByIdRelationshipsByRelationResponse, DeleteUsersByIdRelationshipsByRelationResponses, DeleteUsersByIdResponse, DeleteUsersByIdResponses, DeleteUsersData, DeleteUsersError, DeleteUsersErrors, DeleteUsersResponses, DeleteVouchersByIdData, DeleteVouchersByIdError, DeleteVouchersByIdErrors, DeleteVouchersByIdResponse, DeleteVouchersByIdResponses, DeleteVouchersData, DeleteVouchersError, DeleteVouchersErrors, DeleteVouchersResponses, ErrorResponse, ExportCrackedHashesHelperApi, ExportLeftHashesHelperApi, ExportWordlistHelperApi, FileCreate, FilePatch, FilePostPatchResponse, FileRelationAccessGroup, FileRelationAccessGroupGetResponse, FileResponse, FileSingleResponse, GetAccessgroupsByIdByRelationData, GetAccessgroupsByIdByRelationError, GetAccessgroupsByIdByRelationErrors, GetAccessgroupsByIdByRelationResponse, GetAccessgroupsByIdByRelationResponses, GetAccessgroupsByIdData, GetAccessgroupsByIdError, GetAccessgroupsByIdErrors, GetAccessgroupsByIdRelationshipsByRelationData, GetAccessgroupsByIdRelationshipsByRelationError, GetAccessgroupsByIdRelationshipsByRelationErrors, GetAccessgroupsByIdRelationshipsByRelationResponse, GetAccessgroupsByIdRelationshipsByRelationResponses, GetAccessgroupsByIdResponse, GetAccessgroupsByIdResponses, GetAccessgroupsCountData, GetAccessgroupsCountError, GetAccessgroupsCountErrors, GetAccessgroupsCountResponse, GetAccessgroupsCountResponses, GetAccessgroupsData, GetAccessgroupsError, GetAccessgroupsErrors, GetAccessgroupsResponse, GetAccessgroupsResponses, GetAgentassignmentsByIdByRelationData, GetAgentassignmentsByIdByRelationError, GetAgentassignmentsByIdByRelationErrors, GetAgentassignmentsByIdByRelationResponse, GetAgentassignmentsByIdByRelationResponses, GetAgentassignmentsByIdData, GetAgentassignmentsByIdError, GetAgentassignmentsByIdErrors, GetAgentassignmentsByIdRelationshipsByRelationData, GetAgentassignmentsByIdRelationshipsByRelationError, GetAgentassignmentsByIdRelationshipsByRelationErrors, GetAgentassignmentsByIdRelationshipsByRelationResponse, GetAgentassignmentsByIdRelationshipsByRelationResponses, GetAgentassignmentsByIdResponse, GetAgentassignmentsByIdResponses, GetAgentassignmentsCountData, GetAgentassignmentsCountError, GetAgentassignmentsCountErrors, GetAgentassignmentsCountResponse, GetAgentassignmentsCountResponses, GetAgentassignmentsData, GetAgentassignmentsError, GetAgentassignmentsErrors, GetAgentassignmentsResponse, GetAgentassignmentsResponses, GetAgentbinariesByIdData, GetAgentbinariesByIdError, GetAgentbinariesByIdErrors, GetAgentbinariesByIdResponse, GetAgentbinariesByIdResponses, GetAgentbinariesCountData, GetAgentbinariesCountError, GetAgentbinariesCountErrors, GetAgentbinariesCountResponse, GetAgentbinariesCountResponses, GetAgentbinariesData, GetAgentbinariesError, GetAgentbinariesErrors, GetAgentbinariesResponse, GetAgentbinariesResponses, GetAgenterrorsByIdByRelationData, GetAgenterrorsByIdByRelationError, GetAgenterrorsByIdByRelationErrors, GetAgenterrorsByIdByRelationResponse, GetAgenterrorsByIdByRelationResponses, GetAgenterrorsByIdData, GetAgenterrorsByIdError, GetAgenterrorsByIdErrors, GetAgenterrorsByIdRelationshipsByRelationData, GetAgenterrorsByIdRelationshipsByRelationError, GetAgenterrorsByIdRelationshipsByRelationErrors, GetAgenterrorsByIdRelationshipsByRelationResponse, GetAgenterrorsByIdRelationshipsByRelationResponses, GetAgenterrorsByIdResponse, GetAgenterrorsByIdResponses, GetAgenterrorsCountData, GetAgenterrorsCountError, GetAgenterrorsCountErrors, GetAgenterrorsCountResponse, GetAgenterrorsCountResponses, GetAgenterrorsData, GetAgenterrorsError, GetAgenterrorsErrors, GetAgenterrorsResponse, GetAgenterrorsResponses, GetAgentsByIdByRelationData, GetAgentsByIdByRelationError, GetAgentsByIdByRelationErrors, GetAgentsByIdByRelationResponse, GetAgentsByIdByRelationResponses, GetAgentsByIdData, GetAgentsByIdError, GetAgentsByIdErrors, GetAgentsByIdRelationshipsByRelationData, GetAgentsByIdRelationshipsByRelationError, GetAgentsByIdRelationshipsByRelationErrors, GetAgentsByIdRelationshipsByRelationResponse, GetAgentsByIdRelationshipsByRelationResponses, GetAgentsByIdResponse, GetAgentsByIdResponses, GetAgentsCountData, GetAgentsCountError, GetAgentsCountErrors, GetAgentsCountResponse, GetAgentsCountResponses, GetAgentsData, GetAgentsError, GetAgentsErrors, GetAgentsResponse, GetAgentsResponses, GetAgentstatsByIdData, GetAgentstatsByIdError, GetAgentstatsByIdErrors, GetAgentstatsByIdResponse, GetAgentstatsByIdResponses, GetAgentstatsCountData, GetAgentstatsCountError, GetAgentstatsCountErrors, GetAgentstatsCountResponse, GetAgentstatsCountResponses, GetAgentstatsData, GetAgentstatsError, GetAgentstatsErrors, GetAgentstatsResponse, GetAgentstatsResponses, GetApiTokensByIdByRelationData, GetApiTokensByIdByRelationError, GetApiTokensByIdByRelationErrors, GetApiTokensByIdByRelationResponse, GetApiTokensByIdByRelationResponses, GetApiTokensByIdData, GetApiTokensByIdError, GetApiTokensByIdErrors, GetApiTokensByIdRelationshipsByRelationData, GetApiTokensByIdRelationshipsByRelationError, GetApiTokensByIdRelationshipsByRelationErrors, GetApiTokensByIdRelationshipsByRelationResponse, GetApiTokensByIdRelationshipsByRelationResponses, GetApiTokensByIdResponse, GetApiTokensByIdResponses, GetApiTokensCountData, GetApiTokensCountError, GetApiTokensCountErrors, GetApiTokensCountResponse, GetApiTokensCountResponses, GetApiTokensData, GetApiTokensError, GetApiTokensErrors, GetApiTokensResponse, GetApiTokensResponses, GetChunksByIdByRelationData, GetChunksByIdByRelationError, GetChunksByIdByRelationErrors, GetChunksByIdByRelationResponse, GetChunksByIdByRelationResponses, GetChunksByIdData, GetChunksByIdError, GetChunksByIdErrors, GetChunksByIdRelationshipsByRelationData, GetChunksByIdRelationshipsByRelationError, GetChunksByIdRelationshipsByRelationErrors, GetChunksByIdRelationshipsByRelationResponse, GetChunksByIdRelationshipsByRelationResponses, GetChunksByIdResponse, GetChunksByIdResponses, GetChunksCountData, GetChunksCountError, GetChunksCountErrors, GetChunksCountResponse, GetChunksCountResponses, GetChunksData, GetChunksError, GetChunksErrors, GetChunksResponse, GetChunksResponses, GetConfigsByIdByRelationData, GetConfigsByIdByRelationError, GetConfigsByIdByRelationErrors, GetConfigsByIdByRelationResponse, GetConfigsByIdByRelationResponses, GetConfigsByIdData, GetConfigsByIdError, GetConfigsByIdErrors, GetConfigsByIdRelationshipsByRelationData, GetConfigsByIdRelationshipsByRelationError, GetConfigsByIdRelationshipsByRelationErrors, GetConfigsByIdRelationshipsByRelationResponse, GetConfigsByIdRelationshipsByRelationResponses, GetConfigsByIdResponse, GetConfigsByIdResponses, GetConfigsCountData, GetConfigsCountError, GetConfigsCountErrors, GetConfigsCountResponse, GetConfigsCountResponses, GetConfigsData, GetConfigsectionsByIdData, GetConfigsectionsByIdError, GetConfigsectionsByIdErrors, GetConfigsectionsByIdResponse, GetConfigsectionsByIdResponses, GetConfigsectionsCountData, GetConfigsectionsCountError, GetConfigsectionsCountErrors, GetConfigsectionsCountResponse, GetConfigsectionsCountResponses, GetConfigsectionsData, GetConfigsectionsError, GetConfigsectionsErrors, GetConfigsectionsResponse, GetConfigsectionsResponses, GetConfigsError, GetConfigsErrors, GetConfigsResponse, GetConfigsResponses, GetCrackersByIdByRelationData, GetCrackersByIdByRelationError, GetCrackersByIdByRelationErrors, GetCrackersByIdByRelationResponse, GetCrackersByIdByRelationResponses, GetCrackersByIdData, GetCrackersByIdError, GetCrackersByIdErrors, GetCrackersByIdRelationshipsByRelationData, GetCrackersByIdRelationshipsByRelationError, GetCrackersByIdRelationshipsByRelationErrors, GetCrackersByIdRelationshipsByRelationResponse, GetCrackersByIdRelationshipsByRelationResponses, GetCrackersByIdResponse, GetCrackersByIdResponses, GetCrackersCountData, GetCrackersCountError, GetCrackersCountErrors, GetCrackersCountResponse, GetCrackersCountResponses, GetCrackersData, GetCrackersError, GetCrackersErrors, GetCrackersResponse, GetCrackersResponses, GetCrackertypesByIdByRelationData, GetCrackertypesByIdByRelationError, GetCrackertypesByIdByRelationErrors, GetCrackertypesByIdByRelationResponse, GetCrackertypesByIdByRelationResponses, GetCrackertypesByIdData, GetCrackertypesByIdError, GetCrackertypesByIdErrors, GetCrackertypesByIdRelationshipsByRelationData, GetCrackertypesByIdRelationshipsByRelationError, GetCrackertypesByIdRelationshipsByRelationErrors, GetCrackertypesByIdRelationshipsByRelationResponse, GetCrackertypesByIdRelationshipsByRelationResponses, GetCrackertypesByIdResponse, GetCrackertypesByIdResponses, GetCrackertypesCountData, GetCrackertypesCountError, GetCrackertypesCountErrors, GetCrackertypesCountResponse, GetCrackertypesCountResponses, GetCrackertypesData, GetCrackertypesError, GetCrackertypesErrors, GetCrackertypesResponse, GetCrackertypesResponses, GetCurrentUserData, GetCurrentUserResponses, GetFilesByIdByRelationData, GetFilesByIdByRelationError, GetFilesByIdByRelationErrors, GetFilesByIdByRelationResponse, GetFilesByIdByRelationResponses, GetFilesByIdData, GetFilesByIdError, GetFilesByIdErrors, GetFilesByIdRelationshipsByRelationData, GetFilesByIdRelationshipsByRelationError, GetFilesByIdRelationshipsByRelationErrors, GetFilesByIdRelationshipsByRelationResponse, GetFilesByIdRelationshipsByRelationResponses, GetFilesByIdResponse, GetFilesByIdResponses, GetFilesCountData, GetFilesCountError, GetFilesCountErrors, GetFilesCountResponse, GetFilesCountResponses, GetFilesData, GetFilesError, GetFilesErrors, GetFilesResponse, GetFilesResponses, GetGetAccessGroupsData, GetGetAccessGroupsResponses, GetGetAgentBinaryData, GetGetAgentBinaryResponses, GetGetBestTasksAgentData, GetGetBestTasksAgentResponses, GetGetCracksOfTaskData, GetGetCracksOfTaskResponses, GetGetFileData, GetGetFileResponses, GetGetTaskProgressImageData, GetGetTaskProgressImageResponses, GetGetUserPermissionData, GetGetUserPermissionResponses, GetGlobalpermissiongroupsByIdByRelationData, GetGlobalpermissiongroupsByIdByRelationError, GetGlobalpermissiongroupsByIdByRelationErrors, GetGlobalpermissiongroupsByIdByRelationResponse, GetGlobalpermissiongroupsByIdByRelationResponses, GetGlobalpermissiongroupsByIdData, GetGlobalpermissiongroupsByIdError, GetGlobalpermissiongroupsByIdErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationData, GetGlobalpermissiongroupsByIdRelationshipsByRelationError, GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses, GetGlobalpermissiongroupsByIdResponse, GetGlobalpermissiongroupsByIdResponses, GetGlobalpermissiongroupsCountData, GetGlobalpermissiongroupsCountError, GetGlobalpermissiongroupsCountErrors, GetGlobalpermissiongroupsCountResponse, GetGlobalpermissiongroupsCountResponses, GetGlobalpermissiongroupsData, GetGlobalpermissiongroupsError, GetGlobalpermissiongroupsErrors, GetGlobalpermissiongroupsResponse, GetGlobalpermissiongroupsResponses, GetHashesByIdByRelationData, GetHashesByIdByRelationError, GetHashesByIdByRelationErrors, GetHashesByIdByRelationResponse, GetHashesByIdByRelationResponses, GetHashesByIdData, GetHashesByIdError, GetHashesByIdErrors, GetHashesByIdRelationshipsByRelationData, GetHashesByIdRelationshipsByRelationError, GetHashesByIdRelationshipsByRelationErrors, GetHashesByIdRelationshipsByRelationResponse, GetHashesByIdRelationshipsByRelationResponses, GetHashesByIdResponse, GetHashesByIdResponses, GetHashesCountData, GetHashesCountError, GetHashesCountErrors, GetHashesCountResponse, GetHashesCountResponses, GetHashesData, GetHashesError, GetHashesErrors, GetHashesResponse, GetHashesResponses, GetHashlistsByIdByRelationData, GetHashlistsByIdByRelationError, GetHashlistsByIdByRelationErrors, GetHashlistsByIdByRelationResponse, GetHashlistsByIdByRelationResponses, GetHashlistsByIdData, GetHashlistsByIdError, GetHashlistsByIdErrors, GetHashlistsByIdRelationshipsByRelationData, GetHashlistsByIdRelationshipsByRelationError, GetHashlistsByIdRelationshipsByRelationErrors, GetHashlistsByIdRelationshipsByRelationResponse, GetHashlistsByIdRelationshipsByRelationResponses, GetHashlistsByIdResponse, GetHashlistsByIdResponses, GetHashlistsCountData, GetHashlistsCountError, GetHashlistsCountErrors, GetHashlistsCountResponse, GetHashlistsCountResponses, GetHashlistsData, GetHashlistsError, GetHashlistsErrors, GetHashlistsResponse, GetHashlistsResponses, GetHashtypesByIdData, GetHashtypesByIdError, GetHashtypesByIdErrors, GetHashtypesByIdResponse, GetHashtypesByIdResponses, GetHashtypesCountData, GetHashtypesCountError, GetHashtypesCountErrors, GetHashtypesCountResponse, GetHashtypesCountResponses, GetHashtypesData, GetHashtypesError, GetHashtypesErrors, GetHashtypesResponse, GetHashtypesResponses, GetHealthcheckagentsByIdByRelationData, GetHealthcheckagentsByIdByRelationError, GetHealthcheckagentsByIdByRelationErrors, GetHealthcheckagentsByIdByRelationResponse, GetHealthcheckagentsByIdByRelationResponses, GetHealthcheckagentsByIdData, GetHealthcheckagentsByIdError, GetHealthcheckagentsByIdErrors, GetHealthcheckagentsByIdRelationshipsByRelationData, GetHealthcheckagentsByIdRelationshipsByRelationError, GetHealthcheckagentsByIdRelationshipsByRelationErrors, GetHealthcheckagentsByIdRelationshipsByRelationResponse, GetHealthcheckagentsByIdRelationshipsByRelationResponses, GetHealthcheckagentsByIdResponse, GetHealthcheckagentsByIdResponses, GetHealthcheckagentsCountData, GetHealthcheckagentsCountError, GetHealthcheckagentsCountErrors, GetHealthcheckagentsCountResponse, GetHealthcheckagentsCountResponses, GetHealthcheckagentsData, GetHealthcheckagentsError, GetHealthcheckagentsErrors, GetHealthcheckagentsResponse, GetHealthcheckagentsResponses, GetHealthchecksByIdByRelationData, GetHealthchecksByIdByRelationError, GetHealthchecksByIdByRelationErrors, GetHealthchecksByIdByRelationResponse, GetHealthchecksByIdByRelationResponses, GetHealthchecksByIdData, GetHealthchecksByIdError, GetHealthchecksByIdErrors, GetHealthchecksByIdRelationshipsByRelationData, GetHealthchecksByIdRelationshipsByRelationError, GetHealthchecksByIdRelationshipsByRelationErrors, GetHealthchecksByIdRelationshipsByRelationResponse, GetHealthchecksByIdRelationshipsByRelationResponses, GetHealthchecksByIdResponse, GetHealthchecksByIdResponses, GetHealthchecksCountData, GetHealthchecksCountError, GetHealthchecksCountErrors, GetHealthchecksCountResponse, GetHealthchecksCountResponses, GetHealthchecksData, GetHealthchecksError, GetHealthchecksErrors, GetHealthchecksResponse, GetHealthchecksResponses, GetImportFileData, GetImportFileResponses, GetLogentriesByIdData, GetLogentriesByIdError, GetLogentriesByIdErrors, GetLogentriesByIdResponse, GetLogentriesByIdResponses, GetLogentriesCountData, GetLogentriesCountError, GetLogentriesCountErrors, GetLogentriesCountResponse, GetLogentriesCountResponses, GetLogentriesData, GetLogentriesError, GetLogentriesErrors, GetLogentriesResponse, GetLogentriesResponses, GetNotificationsByIdByRelationData, GetNotificationsByIdByRelationError, GetNotificationsByIdByRelationErrors, GetNotificationsByIdByRelationResponse, GetNotificationsByIdByRelationResponses, GetNotificationsByIdData, GetNotificationsByIdError, GetNotificationsByIdErrors, GetNotificationsByIdRelationshipsByRelationData, GetNotificationsByIdRelationshipsByRelationError, GetNotificationsByIdRelationshipsByRelationErrors, GetNotificationsByIdRelationshipsByRelationResponse, GetNotificationsByIdRelationshipsByRelationResponses, GetNotificationsByIdResponse, GetNotificationsByIdResponses, GetNotificationsCountData, GetNotificationsCountError, GetNotificationsCountErrors, GetNotificationsCountResponse, GetNotificationsCountResponses, GetNotificationsData, GetNotificationsError, GetNotificationsErrors, GetNotificationsResponse, GetNotificationsResponses, GetPreprocessorsByIdData, GetPreprocessorsByIdError, GetPreprocessorsByIdErrors, GetPreprocessorsByIdResponse, GetPreprocessorsByIdResponses, GetPreprocessorsCountData, GetPreprocessorsCountError, GetPreprocessorsCountErrors, GetPreprocessorsCountResponse, GetPreprocessorsCountResponses, GetPreprocessorsData, GetPreprocessorsError, GetPreprocessorsErrors, GetPreprocessorsResponse, GetPreprocessorsResponses, GetPretasksByIdByRelationData, GetPretasksByIdByRelationError, GetPretasksByIdByRelationErrors, GetPretasksByIdByRelationResponse, GetPretasksByIdByRelationResponses, GetPretasksByIdData, GetPretasksByIdError, GetPretasksByIdErrors, GetPretasksByIdRelationshipsByRelationData, GetPretasksByIdRelationshipsByRelationError, GetPretasksByIdRelationshipsByRelationErrors, GetPretasksByIdRelationshipsByRelationResponse, GetPretasksByIdRelationshipsByRelationResponses, GetPretasksByIdResponse, GetPretasksByIdResponses, GetPretasksCountData, GetPretasksCountError, GetPretasksCountErrors, GetPretasksCountResponse, GetPretasksCountResponses, GetPretasksData, GetPretasksError, GetPretasksErrors, GetPretasksResponse, GetPretasksResponses, GetSpeedsByIdByRelationData, GetSpeedsByIdByRelationError, GetSpeedsByIdByRelationErrors, GetSpeedsByIdByRelationResponse, GetSpeedsByIdByRelationResponses, GetSpeedsByIdData, GetSpeedsByIdError, GetSpeedsByIdErrors, GetSpeedsByIdRelationshipsByRelationData, GetSpeedsByIdRelationshipsByRelationError, GetSpeedsByIdRelationshipsByRelationErrors, GetSpeedsByIdRelationshipsByRelationResponse, GetSpeedsByIdRelationshipsByRelationResponses, GetSpeedsByIdResponse, GetSpeedsByIdResponses, GetSpeedsCountData, GetSpeedsCountError, GetSpeedsCountErrors, GetSpeedsCountResponse, GetSpeedsCountResponses, GetSpeedsData, GetSpeedsError, GetSpeedsErrors, GetSpeedsResponse, GetSpeedsResponses, GetSupertasksByIdByRelationData, GetSupertasksByIdByRelationError, GetSupertasksByIdByRelationErrors, GetSupertasksByIdByRelationResponse, GetSupertasksByIdByRelationResponses, GetSupertasksByIdData, GetSupertasksByIdError, GetSupertasksByIdErrors, GetSupertasksByIdRelationshipsByRelationData, GetSupertasksByIdRelationshipsByRelationError, GetSupertasksByIdRelationshipsByRelationErrors, GetSupertasksByIdRelationshipsByRelationResponse, GetSupertasksByIdRelationshipsByRelationResponses, GetSupertasksByIdResponse, GetSupertasksByIdResponses, GetSupertasksCountData, GetSupertasksCountError, GetSupertasksCountErrors, GetSupertasksCountResponse, GetSupertasksCountResponses, GetSupertasksData, GetSupertasksError, GetSupertasksErrors, GetSupertasksResponse, GetSupertasksResponses, GetTasksByIdByRelationData, GetTasksByIdByRelationError, GetTasksByIdByRelationErrors, GetTasksByIdByRelationResponse, GetTasksByIdByRelationResponses, GetTasksByIdData, GetTasksByIdError, GetTasksByIdErrors, GetTasksByIdRelationshipsByRelationData, GetTasksByIdRelationshipsByRelationError, GetTasksByIdRelationshipsByRelationErrors, GetTasksByIdRelationshipsByRelationResponse, GetTasksByIdRelationshipsByRelationResponses, GetTasksByIdResponse, GetTasksByIdResponses, GetTasksCountData, GetTasksCountError, GetTasksCountErrors, GetTasksCountResponse, GetTasksCountResponses, GetTasksData, GetTasksError, GetTasksErrors, GetTasksResponse, GetTasksResponses, GetTaskwrappersByIdByRelationData, GetTaskwrappersByIdByRelationError, GetTaskwrappersByIdByRelationErrors, GetTaskwrappersByIdByRelationResponse, GetTaskwrappersByIdByRelationResponses, GetTaskwrappersByIdData, GetTaskwrappersByIdError, GetTaskwrappersByIdErrors, GetTaskwrappersByIdRelationshipsByRelationData, GetTaskwrappersByIdRelationshipsByRelationError, GetTaskwrappersByIdRelationshipsByRelationErrors, GetTaskwrappersByIdRelationshipsByRelationResponse, GetTaskwrappersByIdRelationshipsByRelationResponses, GetTaskwrappersByIdResponse, GetTaskwrappersByIdResponses, GetTaskwrappersCountData, GetTaskwrappersCountError, GetTaskwrappersCountErrors, GetTaskwrappersCountResponse, GetTaskwrappersCountResponses, GetTaskwrappersData, GetTaskwrappersError, GetTaskwrappersErrors, GetTaskwrappersResponse, GetTaskwrappersResponses, GetUsersByIdByRelationData, GetUsersByIdByRelationError, GetUsersByIdByRelationErrors, GetUsersByIdByRelationResponse, GetUsersByIdByRelationResponses, GetUsersByIdData, GetUsersByIdError, GetUsersByIdErrors, GetUsersByIdRelationshipsByRelationData, GetUsersByIdRelationshipsByRelationError, GetUsersByIdRelationshipsByRelationErrors, GetUsersByIdRelationshipsByRelationResponse, GetUsersByIdRelationshipsByRelationResponses, GetUsersByIdResponse, GetUsersByIdResponses, GetUsersCountData, GetUsersCountError, GetUsersCountErrors, GetUsersCountResponse, GetUsersCountResponses, GetUsersData, GetUsersError, GetUsersErrors, GetUsersResponse, GetUsersResponses, GetVouchersByIdData, GetVouchersByIdError, GetVouchersByIdErrors, GetVouchersByIdResponse, GetVouchersByIdResponses, GetVouchersCountData, GetVouchersCountError, GetVouchersCountErrors, GetVouchersCountResponse, GetVouchersCountResponses, GetVouchersData, GetVouchersError, GetVouchersErrors, GetVouchersResponse, GetVouchersResponses, HashlistCreate, HashlistPatch, HashlistPostPatchResponse, HashlistRelationTasks, HashlistRelationTasksGetResponse, HashlistResponse, HashlistSingleResponse, HashRelationHashlist, HashRelationHashlistGetResponse, HashResponse, HashTypeCreate, HashTypePatch, HashTypePostPatchResponse, HashTypeResponse, HeadImportFileById09aF32Data, HeadImportFileById09aF32Responses, HealthCheckAgentRelationHealthCheck, HealthCheckAgentRelationHealthCheckGetResponse, HealthCheckAgentResponse, HealthCheckCreate, HealthCheckPatch, HealthCheckPostPatchResponse, HealthCheckRelationHealthCheckAgents, HealthCheckRelationHealthCheckAgentsGetResponse, HealthCheckResponse, ImportCrackedHashesHelperApi, ImportCrackedHashesHelperApiResponse, ImportFileHelperApi, JwtApiKeyCreate, JwtApiKeyPatch, JwtApiKeyPostPatchResponse, JwtApiKeyRelationUser, JwtApiKeyRelationUserGetResponse, JwtApiKeyResponse, LogEntryCreate, LogEntryPatch, LogEntryPostPatchResponse, LogEntryResponse, MaskSupertaskBuilderHelperApi, NotFoundResponse, NotificationSettingCreate, NotificationSettingPatch, NotificationSettingPostPatchResponse, NotificationSettingRelationUser, NotificationSettingRelationUserGetResponse, NotificationSettingResponse, PatchAccessgroupsByIdData, PatchAccessgroupsByIdError, PatchAccessgroupsByIdErrors, PatchAccessgroupsByIdRelationshipsByRelationData, PatchAccessgroupsByIdRelationshipsByRelationError, PatchAccessgroupsByIdRelationshipsByRelationErrors, PatchAccessgroupsByIdRelationshipsByRelationResponse, PatchAccessgroupsByIdRelationshipsByRelationResponses, PatchAccessgroupsByIdResponse, PatchAccessgroupsByIdResponses, PatchAccessgroupsData, PatchAccessgroupsError, PatchAccessgroupsErrors, PatchAccessgroupsResponses, PatchAgentassignmentsByIdData, PatchAgentassignmentsByIdError, PatchAgentassignmentsByIdErrors, PatchAgentassignmentsByIdRelationshipsByRelationData, PatchAgentassignmentsByIdRelationshipsByRelationError, PatchAgentassignmentsByIdRelationshipsByRelationErrors, PatchAgentassignmentsByIdRelationshipsByRelationResponse, PatchAgentassignmentsByIdRelationshipsByRelationResponses, PatchAgentassignmentsByIdResponse, PatchAgentassignmentsByIdResponses, PatchAgentassignmentsData, PatchAgentassignmentsError, PatchAgentassignmentsErrors, PatchAgentassignmentsResponses, PatchAgentbinariesByIdData, PatchAgentbinariesByIdError, PatchAgentbinariesByIdErrors, PatchAgentbinariesByIdResponse, PatchAgentbinariesByIdResponses, PatchAgentbinariesData, PatchAgentbinariesError, PatchAgentbinariesErrors, PatchAgentbinariesResponses, PatchAgenterrorsByIdRelationshipsByRelationData, PatchAgenterrorsByIdRelationshipsByRelationError, PatchAgenterrorsByIdRelationshipsByRelationErrors, PatchAgenterrorsByIdRelationshipsByRelationResponse, PatchAgenterrorsByIdRelationshipsByRelationResponses, PatchAgentsByIdData, PatchAgentsByIdError, PatchAgentsByIdErrors, PatchAgentsByIdRelationshipsByRelationData, PatchAgentsByIdRelationshipsByRelationError, PatchAgentsByIdRelationshipsByRelationErrors, PatchAgentsByIdRelationshipsByRelationResponse, PatchAgentsByIdRelationshipsByRelationResponses, PatchAgentsByIdResponse, PatchAgentsByIdResponses, PatchAgentsData, PatchAgentsError, PatchAgentsErrors, PatchAgentsResponses, PatchApiTokensByIdData, PatchApiTokensByIdError, PatchApiTokensByIdErrors, PatchApiTokensByIdRelationshipsByRelationData, PatchApiTokensByIdRelationshipsByRelationError, PatchApiTokensByIdRelationshipsByRelationErrors, PatchApiTokensByIdRelationshipsByRelationResponse, PatchApiTokensByIdRelationshipsByRelationResponses, PatchApiTokensByIdResponse, PatchApiTokensByIdResponses, PatchApiTokensData, PatchApiTokensError, PatchApiTokensErrors, PatchApiTokensResponses, PatchChunksByIdRelationshipsByRelationData, PatchChunksByIdRelationshipsByRelationError, PatchChunksByIdRelationshipsByRelationErrors, PatchChunksByIdRelationshipsByRelationResponse, PatchChunksByIdRelationshipsByRelationResponses, PatchConfigsByIdData, PatchConfigsByIdError, PatchConfigsByIdErrors, PatchConfigsByIdRelationshipsByRelationData, PatchConfigsByIdRelationshipsByRelationError, PatchConfigsByIdRelationshipsByRelationErrors, PatchConfigsByIdRelationshipsByRelationResponse, PatchConfigsByIdRelationshipsByRelationResponses, PatchConfigsByIdResponse, PatchConfigsByIdResponses, PatchConfigsData, PatchConfigsError, PatchConfigsErrors, PatchConfigsResponses, PatchCrackersByIdData, PatchCrackersByIdError, PatchCrackersByIdErrors, PatchCrackersByIdRelationshipsByRelationData, PatchCrackersByIdRelationshipsByRelationError, PatchCrackersByIdRelationshipsByRelationErrors, PatchCrackersByIdRelationshipsByRelationResponse, PatchCrackersByIdRelationshipsByRelationResponses, PatchCrackersByIdResponse, PatchCrackersByIdResponses, PatchCrackersData, PatchCrackersError, PatchCrackersErrors, PatchCrackersResponses, PatchCrackertypesByIdData, PatchCrackertypesByIdError, PatchCrackertypesByIdErrors, PatchCrackertypesByIdRelationshipsByRelationData, PatchCrackertypesByIdRelationshipsByRelationError, PatchCrackertypesByIdRelationshipsByRelationErrors, PatchCrackertypesByIdRelationshipsByRelationResponse, PatchCrackertypesByIdRelationshipsByRelationResponses, PatchCrackertypesByIdResponse, PatchCrackertypesByIdResponses, PatchCrackertypesData, PatchCrackertypesError, PatchCrackertypesErrors, PatchCrackertypesResponses, PatchCurrentUserData, PatchCurrentUserResponses, PatchFilesByIdData, PatchFilesByIdError, PatchFilesByIdErrors, PatchFilesByIdRelationshipsByRelationData, PatchFilesByIdRelationshipsByRelationError, PatchFilesByIdRelationshipsByRelationErrors, PatchFilesByIdRelationshipsByRelationResponse, PatchFilesByIdRelationshipsByRelationResponses, PatchFilesByIdResponse, PatchFilesByIdResponses, PatchFilesData, PatchFilesError, PatchFilesErrors, PatchFilesResponses, PatchGlobalpermissiongroupsByIdData, PatchGlobalpermissiongroupsByIdError, PatchGlobalpermissiongroupsByIdErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationData, PatchGlobalpermissiongroupsByIdRelationshipsByRelationError, PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PatchGlobalpermissiongroupsByIdResponse, PatchGlobalpermissiongroupsByIdResponses, PatchGlobalpermissiongroupsData, PatchGlobalpermissiongroupsError, PatchGlobalpermissiongroupsErrors, PatchGlobalpermissiongroupsResponses, PatchHashesByIdRelationshipsByRelationData, PatchHashesByIdRelationshipsByRelationError, PatchHashesByIdRelationshipsByRelationErrors, PatchHashesByIdRelationshipsByRelationResponse, PatchHashesByIdRelationshipsByRelationResponses, PatchHashlistsByIdData, PatchHashlistsByIdError, PatchHashlistsByIdErrors, PatchHashlistsByIdRelationshipsByRelationData, PatchHashlistsByIdRelationshipsByRelationError, PatchHashlistsByIdRelationshipsByRelationErrors, PatchHashlistsByIdRelationshipsByRelationResponse, PatchHashlistsByIdRelationshipsByRelationResponses, PatchHashlistsByIdResponse, PatchHashlistsByIdResponses, PatchHashlistsData, PatchHashlistsError, PatchHashlistsErrors, PatchHashlistsResponses, PatchHashtypesByIdData, PatchHashtypesByIdError, PatchHashtypesByIdErrors, PatchHashtypesByIdResponse, PatchHashtypesByIdResponses, PatchHashtypesData, PatchHashtypesError, PatchHashtypesErrors, PatchHashtypesResponses, PatchHealthcheckagentsByIdRelationshipsByRelationData, PatchHealthcheckagentsByIdRelationshipsByRelationError, PatchHealthcheckagentsByIdRelationshipsByRelationErrors, PatchHealthcheckagentsByIdRelationshipsByRelationResponse, PatchHealthcheckagentsByIdRelationshipsByRelationResponses, PatchHealthchecksByIdData, PatchHealthchecksByIdError, PatchHealthchecksByIdErrors, PatchHealthchecksByIdRelationshipsByRelationData, PatchHealthchecksByIdRelationshipsByRelationError, PatchHealthchecksByIdRelationshipsByRelationErrors, PatchHealthchecksByIdRelationshipsByRelationResponse, PatchHealthchecksByIdRelationshipsByRelationResponses, PatchHealthchecksByIdResponse, PatchHealthchecksByIdResponses, PatchHealthchecksData, PatchHealthchecksError, PatchHealthchecksErrors, PatchHealthchecksResponses, PatchImportFileById09aF32Data, PatchImportFileById09aF32Response, PatchImportFileById09aF32Responses, PatchLogentriesByIdData, PatchLogentriesByIdError, PatchLogentriesByIdErrors, PatchLogentriesByIdResponse, PatchLogentriesByIdResponses, PatchLogentriesData, PatchLogentriesError, PatchLogentriesErrors, PatchLogentriesResponses, PatchNotificationsByIdData, PatchNotificationsByIdError, PatchNotificationsByIdErrors, PatchNotificationsByIdRelationshipsByRelationData, PatchNotificationsByIdRelationshipsByRelationError, PatchNotificationsByIdRelationshipsByRelationErrors, PatchNotificationsByIdRelationshipsByRelationResponse, PatchNotificationsByIdRelationshipsByRelationResponses, PatchNotificationsByIdResponse, PatchNotificationsByIdResponses, PatchNotificationsData, PatchNotificationsError, PatchNotificationsErrors, PatchNotificationsResponses, PatchPreprocessorsByIdData, PatchPreprocessorsByIdError, PatchPreprocessorsByIdErrors, PatchPreprocessorsByIdResponse, PatchPreprocessorsByIdResponses, PatchPreprocessorsData, PatchPreprocessorsError, PatchPreprocessorsErrors, PatchPreprocessorsResponses, PatchPretasksByIdData, PatchPretasksByIdError, PatchPretasksByIdErrors, PatchPretasksByIdRelationshipsByRelationData, PatchPretasksByIdRelationshipsByRelationError, PatchPretasksByIdRelationshipsByRelationErrors, PatchPretasksByIdRelationshipsByRelationResponse, PatchPretasksByIdRelationshipsByRelationResponses, PatchPretasksByIdResponse, PatchPretasksByIdResponses, PatchPretasksData, PatchPretasksError, PatchPretasksErrors, PatchPretasksResponses, PatchSpeedsByIdRelationshipsByRelationData, PatchSpeedsByIdRelationshipsByRelationError, PatchSpeedsByIdRelationshipsByRelationErrors, PatchSpeedsByIdRelationshipsByRelationResponse, PatchSpeedsByIdRelationshipsByRelationResponses, PatchSupertasksByIdData, PatchSupertasksByIdError, PatchSupertasksByIdErrors, PatchSupertasksByIdRelationshipsByRelationData, PatchSupertasksByIdRelationshipsByRelationError, PatchSupertasksByIdRelationshipsByRelationErrors, PatchSupertasksByIdRelationshipsByRelationResponse, PatchSupertasksByIdRelationshipsByRelationResponses, PatchSupertasksByIdResponse, PatchSupertasksByIdResponses, PatchSupertasksData, PatchSupertasksError, PatchSupertasksErrors, PatchSupertasksResponses, PatchTasksByIdData, PatchTasksByIdError, PatchTasksByIdErrors, PatchTasksByIdRelationshipsByRelationData, PatchTasksByIdRelationshipsByRelationError, PatchTasksByIdRelationshipsByRelationErrors, PatchTasksByIdRelationshipsByRelationResponse, PatchTasksByIdRelationshipsByRelationResponses, PatchTasksByIdResponse, PatchTasksByIdResponses, PatchTasksData, PatchTasksError, PatchTasksErrors, PatchTasksResponses, PatchTaskwrappersByIdData, PatchTaskwrappersByIdError, PatchTaskwrappersByIdErrors, PatchTaskwrappersByIdRelationshipsByRelationData, PatchTaskwrappersByIdRelationshipsByRelationError, PatchTaskwrappersByIdRelationshipsByRelationErrors, PatchTaskwrappersByIdRelationshipsByRelationResponse, PatchTaskwrappersByIdRelationshipsByRelationResponses, PatchTaskwrappersByIdResponse, PatchTaskwrappersByIdResponses, PatchTaskwrappersData, PatchTaskwrappersError, PatchTaskwrappersErrors, PatchTaskwrappersResponses, PatchUsersByIdData, PatchUsersByIdError, PatchUsersByIdErrors, PatchUsersByIdRelationshipsByRelationData, PatchUsersByIdRelationshipsByRelationError, PatchUsersByIdRelationshipsByRelationErrors, PatchUsersByIdRelationshipsByRelationResponse, PatchUsersByIdRelationshipsByRelationResponses, PatchUsersByIdResponse, PatchUsersByIdResponses, PatchUsersData, PatchUsersError, PatchUsersErrors, PatchUsersResponses, PatchVouchersByIdData, PatchVouchersByIdError, PatchVouchersByIdErrors, PatchVouchersByIdResponse, PatchVouchersByIdResponses, PatchVouchersData, PatchVouchersError, PatchVouchersErrors, PatchVouchersResponses, PostAbortChunkData, PostAbortChunkResponse, PostAbortChunkResponses, PostAccessgroupsByIdRelationshipsByRelationData, PostAccessgroupsByIdRelationshipsByRelationError, PostAccessgroupsByIdRelationshipsByRelationErrors, PostAccessgroupsByIdRelationshipsByRelationResponse, PostAccessgroupsByIdRelationshipsByRelationResponses, PostAccessgroupsData, PostAccessgroupsError, PostAccessgroupsErrors, PostAccessgroupsResponse, PostAccessgroupsResponses, PostAgentassignmentsData, PostAgentassignmentsError, PostAgentassignmentsErrors, PostAgentassignmentsResponse, PostAgentassignmentsResponses, PostAgentbinariesData, PostAgentbinariesError, PostAgentbinariesErrors, PostAgentbinariesResponse, PostAgentbinariesResponses, PostAgentsByIdRelationshipsByRelationData, PostAgentsByIdRelationshipsByRelationError, PostAgentsByIdRelationshipsByRelationErrors, PostAgentsByIdRelationshipsByRelationResponse, PostAgentsByIdRelationshipsByRelationResponses, PostApiTokensData, PostApiTokensError, PostApiTokensErrors, PostApiTokensResponse, PostApiTokensResponses, PostAssignAgentData, PostAssignAgentResponse, PostAssignAgentResponses, PostBulkSupertaskBuilderData, PostBulkSupertaskBuilderResponse, PostBulkSupertaskBuilderResponses, PostChangeOwnPasswordData, PostChangeOwnPasswordResponse, PostChangeOwnPasswordResponses, PostCrackersByIdRelationshipsByRelationData, PostCrackersByIdRelationshipsByRelationError, PostCrackersByIdRelationshipsByRelationErrors, PostCrackersByIdRelationshipsByRelationResponse, PostCrackersByIdRelationshipsByRelationResponses, PostCrackersData, PostCrackersError, PostCrackersErrors, PostCrackersResponse, PostCrackersResponses, PostCrackertypesByIdRelationshipsByRelationData, PostCrackertypesByIdRelationshipsByRelationError, PostCrackertypesByIdRelationshipsByRelationErrors, PostCrackertypesByIdRelationshipsByRelationResponse, PostCrackertypesByIdRelationshipsByRelationResponses, PostCrackertypesData, PostCrackertypesError, PostCrackertypesErrors, PostCrackertypesResponse, PostCrackertypesResponses, PostCreateSuperHashlistData, PostCreateSuperHashlistResponse, PostCreateSuperHashlistResponses, PostCreateSupertaskData, PostCreateSupertaskResponse, PostCreateSupertaskResponses, PostExportCrackedHashesData, PostExportCrackedHashesResponse, PostExportCrackedHashesResponses, PostExportLeftHashesData, PostExportLeftHashesResponse, PostExportLeftHashesResponses, PostExportWordlistData, PostExportWordlistResponse, PostExportWordlistResponses, PostFilesData, PostFilesError, PostFilesErrors, PostFilesResponse, PostFilesResponses, PostGlobalpermissiongroupsByIdRelationshipsByRelationData, PostGlobalpermissiongroupsByIdRelationshipsByRelationError, PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PostGlobalpermissiongroupsData, PostGlobalpermissiongroupsError, PostGlobalpermissiongroupsErrors, PostGlobalpermissiongroupsResponse, PostGlobalpermissiongroupsResponses, PostHashlistsByIdRelationshipsByRelationData, PostHashlistsByIdRelationshipsByRelationError, PostHashlistsByIdRelationshipsByRelationErrors, PostHashlistsByIdRelationshipsByRelationResponse, PostHashlistsByIdRelationshipsByRelationResponses, PostHashlistsData, PostHashlistsError, PostHashlistsErrors, PostHashlistsResponse, PostHashlistsResponses, PostHashtypesData, PostHashtypesError, PostHashtypesErrors, PostHashtypesResponse, PostHashtypesResponses, PostHealthchecksByIdRelationshipsByRelationData, PostHealthchecksByIdRelationshipsByRelationError, PostHealthchecksByIdRelationshipsByRelationErrors, PostHealthchecksByIdRelationshipsByRelationResponse, PostHealthchecksByIdRelationshipsByRelationResponses, PostHealthchecksData, PostHealthchecksError, PostHealthchecksErrors, PostHealthchecksResponse, PostHealthchecksResponses, PostImportCrackedHashesData, PostImportCrackedHashesResponse, PostImportCrackedHashesResponses, PostImportFileData, PostImportFileResponse, PostImportFileResponses, PostLogentriesData, PostLogentriesError, PostLogentriesErrors, PostLogentriesResponse, PostLogentriesResponses, PostMaskSupertaskBuilderData, PostMaskSupertaskBuilderResponse, PostMaskSupertaskBuilderResponses, PostNotificationsData, PostNotificationsError, PostNotificationsErrors, PostNotificationsResponse, PostNotificationsResponses, PostPreprocessorsData, PostPreprocessorsError, PostPreprocessorsErrors, PostPreprocessorsResponse, PostPreprocessorsResponses, PostPretasksByIdRelationshipsByRelationData, PostPretasksByIdRelationshipsByRelationError, PostPretasksByIdRelationshipsByRelationErrors, PostPretasksByIdRelationshipsByRelationResponse, PostPretasksByIdRelationshipsByRelationResponses, PostPretasksData, PostPretasksError, PostPretasksErrors, PostPretasksResponse, PostPretasksResponses, PostPurgeTaskData, PostPurgeTaskResponse, PostPurgeTaskResponses, PostRebuildChunkCacheData, PostRebuildChunkCacheResponse, PostRebuildChunkCacheResponses, PostRecountFileLinesData, PostRecountFileLinesResponse, PostRecountFileLinesResponses, PostRescanGlobalFilesData, PostRescanGlobalFilesResponse, PostRescanGlobalFilesResponses, PostResetChunkData, PostResetChunkResponse, PostResetChunkResponses, PostResetUserPasswordData, PostResetUserPasswordResponse, PostResetUserPasswordResponses, PostSearchHashesData, PostSearchHashesResponse, PostSearchHashesResponses, PostSetUserPasswordData, PostSetUserPasswordResponse, PostSetUserPasswordResponses, PostSupertasksByIdRelationshipsByRelationData, PostSupertasksByIdRelationshipsByRelationError, PostSupertasksByIdRelationshipsByRelationErrors, PostSupertasksByIdRelationshipsByRelationResponse, PostSupertasksByIdRelationshipsByRelationResponses, PostSupertasksData, PostSupertasksError, PostSupertasksErrors, PostSupertasksResponse, PostSupertasksResponses, PostTasksByIdRelationshipsByRelationData, PostTasksByIdRelationshipsByRelationError, PostTasksByIdRelationshipsByRelationErrors, PostTasksByIdRelationshipsByRelationResponse, PostTasksByIdRelationshipsByRelationResponses, PostTasksData, PostTasksError, PostTasksErrors, PostTasksResponse, PostTasksResponses, PostTaskwrappersByIdRelationshipsByRelationData, PostTaskwrappersByIdRelationshipsByRelationError, PostTaskwrappersByIdRelationshipsByRelationErrors, PostTaskwrappersByIdRelationshipsByRelationResponse, PostTaskwrappersByIdRelationshipsByRelationResponses, PostTokenData, PostTokenError, PostTokenErrors, PostTokenResponse, PostTokenResponses, PostUnassignAgentData, PostUnassignAgentResponse, PostUnassignAgentResponses, PostUsersByIdRelationshipsByRelationData, PostUsersByIdRelationshipsByRelationError, PostUsersByIdRelationshipsByRelationErrors, PostUsersByIdRelationshipsByRelationResponse, PostUsersByIdRelationshipsByRelationResponses, PostUsersData, PostUsersError, PostUsersErrors, PostUsersResponse, PostUsersResponses, PostVouchersData, PostVouchersError, PostVouchersErrors, PostVouchersResponse, PostVouchersResponses, PreprocessorCreate, PreprocessorPatch, PreprocessorPostPatchResponse, PreprocessorResponse, PretaskCreate, PretaskPatch, PretaskPostPatchResponse, PretaskRelationPretaskFiles, PretaskRelationPretaskFilesGetResponse, PretaskResponse, PurgeTaskHelperApi, PurgeTaskHelperApiResponse, RebuildChunkCacheHelperApi, RebuildChunkCacheHelperApiResponse, RecountFileLinesHelperApi, RegVoucherCreate, RegVoucherPatch, RegVoucherPostPatchResponse, RegVoucherResponse, RescanGlobalFilesHelperApi, RescanGlobalFilesHelperApiResponse, ResetChunkHelperApi, ResetChunkHelperApiResponse, ResetUserPasswordHelperApi, ResetUserPasswordHelperApiResponse, RightGroupCreate, RightGroupPatch, RightGroupPostPatchResponse, RightGroupRelationUserMembers, RightGroupRelationUserMembersGetResponse, RightGroupResponse, SearchHashesHelperApi, SearchHashesHelperApiResponse, SetUserPasswordHelperApi, SetUserPasswordHelperApiResponse, SpeedRelationTask, SpeedRelationTaskGetResponse, SpeedResponse, SupertaskCreate, SupertaskPatch, SupertaskPostPatchResponse, SupertaskRelationPretasks, SupertaskRelationPretasksGetResponse, SupertaskResponse, SupertaskSingleResponse, TaskCreate, TaskPatch, TaskPostPatchResponse, TaskRelationSpeeds, TaskRelationSpeedsGetResponse, TaskResponse, TaskWrapperPatch, TaskWrapperPostPatchResponse, TaskWrapperRelationTasks, TaskWrapperRelationTasksGetResponse, TaskWrapperResponse, TaskWrapperSingleResponse, Token, TokenRequest, UnassignAgentHelperApi, UnassignAgentHelperApiResponse, UserCreate, UserPatch, UserPostPatchResponse, UserRelationAccessGroups, UserRelationAccessGroupsGetResponse, UserResponse } from './types.gen'; +export type { AbortChunkHelperApi, AbortChunkHelperApiResponse, AccessGroupCreate, AccessGroupListResponse, AccessGroupPatch, AccessGroupPostPatchResponse, AccessGroupRelationAgentMembers, AccessGroupRelationAgentMembersGetResponse, AccessGroupResponse, AgentBinaryCreate, AgentBinaryListResponse, AgentBinaryPatch, AgentBinaryPostPatchResponse, AgentBinaryResponse, AgentErrorListResponse, AgentErrorRelationTask, AgentErrorRelationTaskGetResponse, AgentErrorResponse, AgentListResponse, AgentPatch, AgentPostPatchResponse, AgentRelationAssignments, AgentRelationAssignmentsGetResponse, AgentResponse, AgentStatListResponse, AgentStatResponse, AssignAgentHelperApi, AssignAgentHelperApiResponse, AssignmentCreate, AssignmentListResponse, AssignmentPatch, AssignmentPostPatchResponse, AssignmentRelationTask, AssignmentRelationTaskGetResponse, AssignmentResponse, BulkSupertaskBuilderHelperApi, ChangeOwnPasswordHelperApi, ChangeOwnPasswordHelperApiResponse, ChunkListResponse, ChunkRelationTask, ChunkRelationTaskGetResponse, ChunkResponse, ClientOptions, ConfigListResponse, ConfigPatch, ConfigPostPatchResponse, ConfigRelationConfigSection, ConfigRelationConfigSectionGetResponse, ConfigResponse, ConfigSectionListResponse, ConfigSectionResponse, CrackerBinaryCreate, CrackerBinaryListResponse, CrackerBinaryPatch, CrackerBinaryPostPatchResponse, CrackerBinaryRelationTasks, CrackerBinaryRelationTasksGetResponse, CrackerBinaryResponse, CrackerBinaryTypeCreate, CrackerBinaryTypeListResponse, CrackerBinaryTypePatch, CrackerBinaryTypePostPatchResponse, CrackerBinaryTypeRelationTasks, CrackerBinaryTypeRelationTasksGetResponse, CrackerBinaryTypeResponse, CreateSuperHashlistHelperApi, CreateSupertaskHelperApi, DeleteAccessgroupsByIdData, DeleteAccessgroupsByIdError, DeleteAccessgroupsByIdErrors, DeleteAccessgroupsByIdRelationshipsByRelationData, DeleteAccessgroupsByIdRelationshipsByRelationError, DeleteAccessgroupsByIdRelationshipsByRelationErrors, DeleteAccessgroupsByIdRelationshipsByRelationResponse, DeleteAccessgroupsByIdRelationshipsByRelationResponses, DeleteAccessgroupsByIdResponse, DeleteAccessgroupsByIdResponses, DeleteAccessgroupsData, DeleteAccessgroupsError, DeleteAccessgroupsErrors, DeleteAccessgroupsResponses, DeleteAgentassignmentsByIdData, DeleteAgentassignmentsByIdError, DeleteAgentassignmentsByIdErrors, DeleteAgentassignmentsByIdResponse, DeleteAgentassignmentsByIdResponses, DeleteAgentassignmentsData, DeleteAgentassignmentsError, DeleteAgentassignmentsErrors, DeleteAgentassignmentsResponses, DeleteAgentbinariesByIdData, DeleteAgentbinariesByIdError, DeleteAgentbinariesByIdErrors, DeleteAgentbinariesByIdResponse, DeleteAgentbinariesByIdResponses, DeleteAgentbinariesData, DeleteAgentbinariesError, DeleteAgentbinariesErrors, DeleteAgentbinariesResponses, DeleteAgenterrorsByIdData, DeleteAgenterrorsByIdError, DeleteAgenterrorsByIdErrors, DeleteAgenterrorsByIdResponse, DeleteAgenterrorsByIdResponses, DeleteAgenterrorsData, DeleteAgenterrorsError, DeleteAgenterrorsErrors, DeleteAgenterrorsResponses, DeleteAgentsByIdData, DeleteAgentsByIdError, DeleteAgentsByIdErrors, DeleteAgentsByIdRelationshipsByRelationData, DeleteAgentsByIdRelationshipsByRelationError, DeleteAgentsByIdRelationshipsByRelationErrors, DeleteAgentsByIdRelationshipsByRelationResponse, DeleteAgentsByIdRelationshipsByRelationResponses, DeleteAgentsByIdResponse, DeleteAgentsByIdResponses, DeleteAgentsData, DeleteAgentsError, DeleteAgentsErrors, DeleteAgentsResponses, DeleteAgentstatsByIdData, DeleteAgentstatsByIdError, DeleteAgentstatsByIdErrors, DeleteAgentstatsByIdResponse, DeleteAgentstatsByIdResponses, DeleteAgentstatsData, DeleteAgentstatsError, DeleteAgentstatsErrors, DeleteAgentstatsResponses, DeleteApiTokensByIdData, DeleteApiTokensByIdError, DeleteApiTokensByIdErrors, DeleteApiTokensByIdResponse, DeleteApiTokensByIdResponses, DeleteApiTokensData, DeleteApiTokensError, DeleteApiTokensErrors, DeleteApiTokensResponses, DeleteCrackersByIdData, DeleteCrackersByIdError, DeleteCrackersByIdErrors, DeleteCrackersByIdRelationshipsByRelationData, DeleteCrackersByIdRelationshipsByRelationError, DeleteCrackersByIdRelationshipsByRelationErrors, DeleteCrackersByIdRelationshipsByRelationResponse, DeleteCrackersByIdRelationshipsByRelationResponses, DeleteCrackersByIdResponse, DeleteCrackersByIdResponses, DeleteCrackersData, DeleteCrackersError, DeleteCrackersErrors, DeleteCrackersResponses, DeleteCrackertypesByIdData, DeleteCrackertypesByIdError, DeleteCrackertypesByIdErrors, DeleteCrackertypesByIdRelationshipsByRelationData, DeleteCrackertypesByIdRelationshipsByRelationError, DeleteCrackertypesByIdRelationshipsByRelationErrors, DeleteCrackertypesByIdRelationshipsByRelationResponse, DeleteCrackertypesByIdRelationshipsByRelationResponses, DeleteCrackertypesByIdResponse, DeleteCrackertypesByIdResponses, DeleteCrackertypesData, DeleteCrackertypesError, DeleteCrackertypesErrors, DeleteCrackertypesResponses, DeleteFilesByIdData, DeleteFilesByIdError, DeleteFilesByIdErrors, DeleteFilesByIdResponse, DeleteFilesByIdResponses, DeleteFilesData, DeleteFilesError, DeleteFilesErrors, DeleteFilesResponses, DeleteGlobalpermissiongroupsByIdData, DeleteGlobalpermissiongroupsByIdError, DeleteGlobalpermissiongroupsByIdErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses, DeleteGlobalpermissiongroupsByIdResponse, DeleteGlobalpermissiongroupsByIdResponses, DeleteGlobalpermissiongroupsData, DeleteGlobalpermissiongroupsError, DeleteGlobalpermissiongroupsErrors, DeleteGlobalpermissiongroupsResponses, DeleteHashlistsByIdData, DeleteHashlistsByIdError, DeleteHashlistsByIdErrors, DeleteHashlistsByIdRelationshipsByRelationData, DeleteHashlistsByIdRelationshipsByRelationError, DeleteHashlistsByIdRelationshipsByRelationErrors, DeleteHashlistsByIdRelationshipsByRelationResponse, DeleteHashlistsByIdRelationshipsByRelationResponses, DeleteHashlistsByIdResponse, DeleteHashlistsByIdResponses, DeleteHashlistsData, DeleteHashlistsError, DeleteHashlistsErrors, DeleteHashlistsResponses, DeleteHashtypesByIdData, DeleteHashtypesByIdError, DeleteHashtypesByIdErrors, DeleteHashtypesByIdResponse, DeleteHashtypesByIdResponses, DeleteHashtypesData, DeleteHashtypesError, DeleteHashtypesErrors, DeleteHashtypesResponses, DeleteHealthchecksByIdData, DeleteHealthchecksByIdError, DeleteHealthchecksByIdErrors, DeleteHealthchecksByIdRelationshipsByRelationData, DeleteHealthchecksByIdRelationshipsByRelationError, DeleteHealthchecksByIdRelationshipsByRelationErrors, DeleteHealthchecksByIdRelationshipsByRelationResponse, DeleteHealthchecksByIdRelationshipsByRelationResponses, DeleteHealthchecksByIdResponse, DeleteHealthchecksByIdResponses, DeleteHealthchecksData, DeleteHealthchecksError, DeleteHealthchecksErrors, DeleteHealthchecksResponses, DeleteImportFileById09aF32Data, DeleteImportFileById09aF32Responses, DeleteLogentriesByIdData, DeleteLogentriesByIdError, DeleteLogentriesByIdErrors, DeleteLogentriesByIdResponse, DeleteLogentriesByIdResponses, DeleteLogentriesData, DeleteLogentriesError, DeleteLogentriesErrors, DeleteLogentriesResponses, DeleteNotificationsByIdData, DeleteNotificationsByIdError, DeleteNotificationsByIdErrors, DeleteNotificationsByIdResponse, DeleteNotificationsByIdResponses, DeleteNotificationsData, DeleteNotificationsError, DeleteNotificationsErrors, DeleteNotificationsResponses, DeletePreprocessorsByIdData, DeletePreprocessorsByIdError, DeletePreprocessorsByIdErrors, DeletePreprocessorsByIdResponse, DeletePreprocessorsByIdResponses, DeletePreprocessorsData, DeletePreprocessorsError, DeletePreprocessorsErrors, DeletePreprocessorsResponses, DeletePretasksByIdData, DeletePretasksByIdError, DeletePretasksByIdErrors, DeletePretasksByIdRelationshipsByRelationData, DeletePretasksByIdRelationshipsByRelationError, DeletePretasksByIdRelationshipsByRelationErrors, DeletePretasksByIdRelationshipsByRelationResponse, DeletePretasksByIdRelationshipsByRelationResponses, DeletePretasksByIdResponse, DeletePretasksByIdResponses, DeletePretasksData, DeletePretasksError, DeletePretasksErrors, DeletePretasksResponses, DeleteSupertasksByIdData, DeleteSupertasksByIdError, DeleteSupertasksByIdErrors, DeleteSupertasksByIdRelationshipsByRelationData, DeleteSupertasksByIdRelationshipsByRelationError, DeleteSupertasksByIdRelationshipsByRelationErrors, DeleteSupertasksByIdRelationshipsByRelationResponse, DeleteSupertasksByIdRelationshipsByRelationResponses, DeleteSupertasksByIdResponse, DeleteSupertasksByIdResponses, DeleteSupertasksData, DeleteSupertasksError, DeleteSupertasksErrors, DeleteSupertasksResponses, DeleteTasksByIdData, DeleteTasksByIdError, DeleteTasksByIdErrors, DeleteTasksByIdRelationshipsByRelationData, DeleteTasksByIdRelationshipsByRelationError, DeleteTasksByIdRelationshipsByRelationErrors, DeleteTasksByIdRelationshipsByRelationResponse, DeleteTasksByIdRelationshipsByRelationResponses, DeleteTasksByIdResponse, DeleteTasksByIdResponses, DeleteTasksData, DeleteTasksError, DeleteTasksErrors, DeleteTasksResponses, DeleteTaskwrappersByIdData, DeleteTaskwrappersByIdError, DeleteTaskwrappersByIdErrors, DeleteTaskwrappersByIdRelationshipsByRelationData, DeleteTaskwrappersByIdRelationshipsByRelationError, DeleteTaskwrappersByIdRelationshipsByRelationErrors, DeleteTaskwrappersByIdRelationshipsByRelationResponse, DeleteTaskwrappersByIdRelationshipsByRelationResponses, DeleteTaskwrappersByIdResponse, DeleteTaskwrappersByIdResponses, DeleteTaskwrappersData, DeleteTaskwrappersError, DeleteTaskwrappersErrors, DeleteTaskwrappersResponses, DeleteUsersByIdData, DeleteUsersByIdError, DeleteUsersByIdErrors, DeleteUsersByIdRelationshipsByRelationData, DeleteUsersByIdRelationshipsByRelationError, DeleteUsersByIdRelationshipsByRelationErrors, DeleteUsersByIdRelationshipsByRelationResponse, DeleteUsersByIdRelationshipsByRelationResponses, DeleteUsersByIdResponse, DeleteUsersByIdResponses, DeleteUsersData, DeleteUsersError, DeleteUsersErrors, DeleteUsersResponses, DeleteVouchersByIdData, DeleteVouchersByIdError, DeleteVouchersByIdErrors, DeleteVouchersByIdResponse, DeleteVouchersByIdResponses, DeleteVouchersData, DeleteVouchersError, DeleteVouchersErrors, DeleteVouchersResponses, ErrorResponse, ExportCrackedHashesHelperApi, ExportLeftHashesHelperApi, ExportWordlistHelperApi, FileCreate, FileListResponse, FilePatch, FilePostPatchResponse, FileRelationAccessGroup, FileRelationAccessGroupGetResponse, FileResponse, FileSingleResponse, GetAccessgroupsByIdByRelationData, GetAccessgroupsByIdByRelationError, GetAccessgroupsByIdByRelationErrors, GetAccessgroupsByIdByRelationResponse, GetAccessgroupsByIdByRelationResponses, GetAccessgroupsByIdData, GetAccessgroupsByIdError, GetAccessgroupsByIdErrors, GetAccessgroupsByIdRelationshipsByRelationData, GetAccessgroupsByIdRelationshipsByRelationError, GetAccessgroupsByIdRelationshipsByRelationErrors, GetAccessgroupsByIdRelationshipsByRelationResponse, GetAccessgroupsByIdRelationshipsByRelationResponses, GetAccessgroupsByIdResponse, GetAccessgroupsByIdResponses, GetAccessgroupsCountData, GetAccessgroupsCountError, GetAccessgroupsCountErrors, GetAccessgroupsCountResponse, GetAccessgroupsCountResponses, GetAccessgroupsData, GetAccessgroupsError, GetAccessgroupsErrors, GetAccessgroupsResponse, GetAccessgroupsResponses, GetAgentassignmentsByIdByRelationData, GetAgentassignmentsByIdByRelationError, GetAgentassignmentsByIdByRelationErrors, GetAgentassignmentsByIdByRelationResponse, GetAgentassignmentsByIdByRelationResponses, GetAgentassignmentsByIdData, GetAgentassignmentsByIdError, GetAgentassignmentsByIdErrors, GetAgentassignmentsByIdRelationshipsByRelationData, GetAgentassignmentsByIdRelationshipsByRelationError, GetAgentassignmentsByIdRelationshipsByRelationErrors, GetAgentassignmentsByIdRelationshipsByRelationResponse, GetAgentassignmentsByIdRelationshipsByRelationResponses, GetAgentassignmentsByIdResponse, GetAgentassignmentsByIdResponses, GetAgentassignmentsCountData, GetAgentassignmentsCountError, GetAgentassignmentsCountErrors, GetAgentassignmentsCountResponse, GetAgentassignmentsCountResponses, GetAgentassignmentsData, GetAgentassignmentsError, GetAgentassignmentsErrors, GetAgentassignmentsResponse, GetAgentassignmentsResponses, GetAgentbinariesByIdData, GetAgentbinariesByIdError, GetAgentbinariesByIdErrors, GetAgentbinariesByIdResponse, GetAgentbinariesByIdResponses, GetAgentbinariesCountData, GetAgentbinariesCountError, GetAgentbinariesCountErrors, GetAgentbinariesCountResponse, GetAgentbinariesCountResponses, GetAgentbinariesData, GetAgentbinariesError, GetAgentbinariesErrors, GetAgentbinariesResponse, GetAgentbinariesResponses, GetAgenterrorsByIdByRelationData, GetAgenterrorsByIdByRelationError, GetAgenterrorsByIdByRelationErrors, GetAgenterrorsByIdByRelationResponse, GetAgenterrorsByIdByRelationResponses, GetAgenterrorsByIdData, GetAgenterrorsByIdError, GetAgenterrorsByIdErrors, GetAgenterrorsByIdRelationshipsByRelationData, GetAgenterrorsByIdRelationshipsByRelationError, GetAgenterrorsByIdRelationshipsByRelationErrors, GetAgenterrorsByIdRelationshipsByRelationResponse, GetAgenterrorsByIdRelationshipsByRelationResponses, GetAgenterrorsByIdResponse, GetAgenterrorsByIdResponses, GetAgenterrorsCountData, GetAgenterrorsCountError, GetAgenterrorsCountErrors, GetAgenterrorsCountResponse, GetAgenterrorsCountResponses, GetAgenterrorsData, GetAgenterrorsError, GetAgenterrorsErrors, GetAgenterrorsResponse, GetAgenterrorsResponses, GetAgentsByIdByRelationData, GetAgentsByIdByRelationError, GetAgentsByIdByRelationErrors, GetAgentsByIdByRelationResponse, GetAgentsByIdByRelationResponses, GetAgentsByIdData, GetAgentsByIdError, GetAgentsByIdErrors, GetAgentsByIdRelationshipsByRelationData, GetAgentsByIdRelationshipsByRelationError, GetAgentsByIdRelationshipsByRelationErrors, GetAgentsByIdRelationshipsByRelationResponse, GetAgentsByIdRelationshipsByRelationResponses, GetAgentsByIdResponse, GetAgentsByIdResponses, GetAgentsCountData, GetAgentsCountError, GetAgentsCountErrors, GetAgentsCountResponse, GetAgentsCountResponses, GetAgentsData, GetAgentsError, GetAgentsErrors, GetAgentsResponse, GetAgentsResponses, GetAgentstatsByIdData, GetAgentstatsByIdError, GetAgentstatsByIdErrors, GetAgentstatsByIdResponse, GetAgentstatsByIdResponses, GetAgentstatsCountData, GetAgentstatsCountError, GetAgentstatsCountErrors, GetAgentstatsCountResponse, GetAgentstatsCountResponses, GetAgentstatsData, GetAgentstatsError, GetAgentstatsErrors, GetAgentstatsResponse, GetAgentstatsResponses, GetApiTokensByIdByRelationData, GetApiTokensByIdByRelationError, GetApiTokensByIdByRelationErrors, GetApiTokensByIdByRelationResponse, GetApiTokensByIdByRelationResponses, GetApiTokensByIdData, GetApiTokensByIdError, GetApiTokensByIdErrors, GetApiTokensByIdRelationshipsByRelationData, GetApiTokensByIdRelationshipsByRelationError, GetApiTokensByIdRelationshipsByRelationErrors, GetApiTokensByIdRelationshipsByRelationResponse, GetApiTokensByIdRelationshipsByRelationResponses, GetApiTokensByIdResponse, GetApiTokensByIdResponses, GetApiTokensCountData, GetApiTokensCountError, GetApiTokensCountErrors, GetApiTokensCountResponse, GetApiTokensCountResponses, GetApiTokensData, GetApiTokensError, GetApiTokensErrors, GetApiTokensResponse, GetApiTokensResponses, GetChunksByIdByRelationData, GetChunksByIdByRelationError, GetChunksByIdByRelationErrors, GetChunksByIdByRelationResponse, GetChunksByIdByRelationResponses, GetChunksByIdData, GetChunksByIdError, GetChunksByIdErrors, GetChunksByIdRelationshipsByRelationData, GetChunksByIdRelationshipsByRelationError, GetChunksByIdRelationshipsByRelationErrors, GetChunksByIdRelationshipsByRelationResponse, GetChunksByIdRelationshipsByRelationResponses, GetChunksByIdResponse, GetChunksByIdResponses, GetChunksCountData, GetChunksCountError, GetChunksCountErrors, GetChunksCountResponse, GetChunksCountResponses, GetChunksData, GetChunksError, GetChunksErrors, GetChunksResponse, GetChunksResponses, GetConfigsByIdByRelationData, GetConfigsByIdByRelationError, GetConfigsByIdByRelationErrors, GetConfigsByIdByRelationResponse, GetConfigsByIdByRelationResponses, GetConfigsByIdData, GetConfigsByIdError, GetConfigsByIdErrors, GetConfigsByIdRelationshipsByRelationData, GetConfigsByIdRelationshipsByRelationError, GetConfigsByIdRelationshipsByRelationErrors, GetConfigsByIdRelationshipsByRelationResponse, GetConfigsByIdRelationshipsByRelationResponses, GetConfigsByIdResponse, GetConfigsByIdResponses, GetConfigsCountData, GetConfigsCountError, GetConfigsCountErrors, GetConfigsCountResponse, GetConfigsCountResponses, GetConfigsData, GetConfigsectionsByIdData, GetConfigsectionsByIdError, GetConfigsectionsByIdErrors, GetConfigsectionsByIdResponse, GetConfigsectionsByIdResponses, GetConfigsectionsCountData, GetConfigsectionsCountError, GetConfigsectionsCountErrors, GetConfigsectionsCountResponse, GetConfigsectionsCountResponses, GetConfigsectionsData, GetConfigsectionsError, GetConfigsectionsErrors, GetConfigsectionsResponse, GetConfigsectionsResponses, GetConfigsError, GetConfigsErrors, GetConfigsResponse, GetConfigsResponses, GetCrackersByIdByRelationData, GetCrackersByIdByRelationError, GetCrackersByIdByRelationErrors, GetCrackersByIdByRelationResponse, GetCrackersByIdByRelationResponses, GetCrackersByIdData, GetCrackersByIdError, GetCrackersByIdErrors, GetCrackersByIdRelationshipsByRelationData, GetCrackersByIdRelationshipsByRelationError, GetCrackersByIdRelationshipsByRelationErrors, GetCrackersByIdRelationshipsByRelationResponse, GetCrackersByIdRelationshipsByRelationResponses, GetCrackersByIdResponse, GetCrackersByIdResponses, GetCrackersCountData, GetCrackersCountError, GetCrackersCountErrors, GetCrackersCountResponse, GetCrackersCountResponses, GetCrackersData, GetCrackersError, GetCrackersErrors, GetCrackersResponse, GetCrackersResponses, GetCrackertypesByIdByRelationData, GetCrackertypesByIdByRelationError, GetCrackertypesByIdByRelationErrors, GetCrackertypesByIdByRelationResponse, GetCrackertypesByIdByRelationResponses, GetCrackertypesByIdData, GetCrackertypesByIdError, GetCrackertypesByIdErrors, GetCrackertypesByIdRelationshipsByRelationData, GetCrackertypesByIdRelationshipsByRelationError, GetCrackertypesByIdRelationshipsByRelationErrors, GetCrackertypesByIdRelationshipsByRelationResponse, GetCrackertypesByIdRelationshipsByRelationResponses, GetCrackertypesByIdResponse, GetCrackertypesByIdResponses, GetCrackertypesCountData, GetCrackertypesCountError, GetCrackertypesCountErrors, GetCrackertypesCountResponse, GetCrackertypesCountResponses, GetCrackertypesData, GetCrackertypesError, GetCrackertypesErrors, GetCrackertypesResponse, GetCrackertypesResponses, GetCurrentUserData, GetCurrentUserResponses, GetFilesByIdByRelationData, GetFilesByIdByRelationError, GetFilesByIdByRelationErrors, GetFilesByIdByRelationResponse, GetFilesByIdByRelationResponses, GetFilesByIdData, GetFilesByIdError, GetFilesByIdErrors, GetFilesByIdRelationshipsByRelationData, GetFilesByIdRelationshipsByRelationError, GetFilesByIdRelationshipsByRelationErrors, GetFilesByIdRelationshipsByRelationResponse, GetFilesByIdRelationshipsByRelationResponses, GetFilesByIdResponse, GetFilesByIdResponses, GetFilesCountData, GetFilesCountError, GetFilesCountErrors, GetFilesCountResponse, GetFilesCountResponses, GetFilesData, GetFilesError, GetFilesErrors, GetFilesResponse, GetFilesResponses, GetGetAccessGroupsData, GetGetAccessGroupsResponses, GetGetAgentBinaryData, GetGetAgentBinaryResponses, GetGetBestTasksAgentData, GetGetBestTasksAgentResponses, GetGetCracksOfTaskData, GetGetCracksOfTaskResponses, GetGetFileData, GetGetFileResponses, GetGetTaskProgressImageData, GetGetTaskProgressImageResponses, GetGetUserPermissionData, GetGetUserPermissionResponses, GetGlobalpermissiongroupsByIdByRelationData, GetGlobalpermissiongroupsByIdByRelationError, GetGlobalpermissiongroupsByIdByRelationErrors, GetGlobalpermissiongroupsByIdByRelationResponse, GetGlobalpermissiongroupsByIdByRelationResponses, GetGlobalpermissiongroupsByIdData, GetGlobalpermissiongroupsByIdError, GetGlobalpermissiongroupsByIdErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationData, GetGlobalpermissiongroupsByIdRelationshipsByRelationError, GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses, GetGlobalpermissiongroupsByIdResponse, GetGlobalpermissiongroupsByIdResponses, GetGlobalpermissiongroupsCountData, GetGlobalpermissiongroupsCountError, GetGlobalpermissiongroupsCountErrors, GetGlobalpermissiongroupsCountResponse, GetGlobalpermissiongroupsCountResponses, GetGlobalpermissiongroupsData, GetGlobalpermissiongroupsError, GetGlobalpermissiongroupsErrors, GetGlobalpermissiongroupsResponse, GetGlobalpermissiongroupsResponses, GetHashesByIdByRelationData, GetHashesByIdByRelationError, GetHashesByIdByRelationErrors, GetHashesByIdByRelationResponse, GetHashesByIdByRelationResponses, GetHashesByIdData, GetHashesByIdError, GetHashesByIdErrors, GetHashesByIdRelationshipsByRelationData, GetHashesByIdRelationshipsByRelationError, GetHashesByIdRelationshipsByRelationErrors, GetHashesByIdRelationshipsByRelationResponse, GetHashesByIdRelationshipsByRelationResponses, GetHashesByIdResponse, GetHashesByIdResponses, GetHashesCountData, GetHashesCountError, GetHashesCountErrors, GetHashesCountResponse, GetHashesCountResponses, GetHashesData, GetHashesError, GetHashesErrors, GetHashesResponse, GetHashesResponses, GetHashlistsByIdByRelationData, GetHashlistsByIdByRelationError, GetHashlistsByIdByRelationErrors, GetHashlistsByIdByRelationResponse, GetHashlistsByIdByRelationResponses, GetHashlistsByIdData, GetHashlistsByIdError, GetHashlistsByIdErrors, GetHashlistsByIdRelationshipsByRelationData, GetHashlistsByIdRelationshipsByRelationError, GetHashlistsByIdRelationshipsByRelationErrors, GetHashlistsByIdRelationshipsByRelationResponse, GetHashlistsByIdRelationshipsByRelationResponses, GetHashlistsByIdResponse, GetHashlistsByIdResponses, GetHashlistsCountData, GetHashlistsCountError, GetHashlistsCountErrors, GetHashlistsCountResponse, GetHashlistsCountResponses, GetHashlistsData, GetHashlistsError, GetHashlistsErrors, GetHashlistsResponse, GetHashlistsResponses, GetHashtypesByIdData, GetHashtypesByIdError, GetHashtypesByIdErrors, GetHashtypesByIdResponse, GetHashtypesByIdResponses, GetHashtypesCountData, GetHashtypesCountError, GetHashtypesCountErrors, GetHashtypesCountResponse, GetHashtypesCountResponses, GetHashtypesData, GetHashtypesError, GetHashtypesErrors, GetHashtypesResponse, GetHashtypesResponses, GetHealthcheckagentsByIdByRelationData, GetHealthcheckagentsByIdByRelationError, GetHealthcheckagentsByIdByRelationErrors, GetHealthcheckagentsByIdByRelationResponse, GetHealthcheckagentsByIdByRelationResponses, GetHealthcheckagentsByIdData, GetHealthcheckagentsByIdError, GetHealthcheckagentsByIdErrors, GetHealthcheckagentsByIdRelationshipsByRelationData, GetHealthcheckagentsByIdRelationshipsByRelationError, GetHealthcheckagentsByIdRelationshipsByRelationErrors, GetHealthcheckagentsByIdRelationshipsByRelationResponse, GetHealthcheckagentsByIdRelationshipsByRelationResponses, GetHealthcheckagentsByIdResponse, GetHealthcheckagentsByIdResponses, GetHealthcheckagentsCountData, GetHealthcheckagentsCountError, GetHealthcheckagentsCountErrors, GetHealthcheckagentsCountResponse, GetHealthcheckagentsCountResponses, GetHealthcheckagentsData, GetHealthcheckagentsError, GetHealthcheckagentsErrors, GetHealthcheckagentsResponse, GetHealthcheckagentsResponses, GetHealthchecksByIdByRelationData, GetHealthchecksByIdByRelationError, GetHealthchecksByIdByRelationErrors, GetHealthchecksByIdByRelationResponse, GetHealthchecksByIdByRelationResponses, GetHealthchecksByIdData, GetHealthchecksByIdError, GetHealthchecksByIdErrors, GetHealthchecksByIdRelationshipsByRelationData, GetHealthchecksByIdRelationshipsByRelationError, GetHealthchecksByIdRelationshipsByRelationErrors, GetHealthchecksByIdRelationshipsByRelationResponse, GetHealthchecksByIdRelationshipsByRelationResponses, GetHealthchecksByIdResponse, GetHealthchecksByIdResponses, GetHealthchecksCountData, GetHealthchecksCountError, GetHealthchecksCountErrors, GetHealthchecksCountResponse, GetHealthchecksCountResponses, GetHealthchecksData, GetHealthchecksError, GetHealthchecksErrors, GetHealthchecksResponse, GetHealthchecksResponses, GetImportFileData, GetImportFileResponses, GetLogentriesByIdData, GetLogentriesByIdError, GetLogentriesByIdErrors, GetLogentriesByIdResponse, GetLogentriesByIdResponses, GetLogentriesCountData, GetLogentriesCountError, GetLogentriesCountErrors, GetLogentriesCountResponse, GetLogentriesCountResponses, GetLogentriesData, GetLogentriesError, GetLogentriesErrors, GetLogentriesResponse, GetLogentriesResponses, GetNotificationsByIdByRelationData, GetNotificationsByIdByRelationError, GetNotificationsByIdByRelationErrors, GetNotificationsByIdByRelationResponse, GetNotificationsByIdByRelationResponses, GetNotificationsByIdData, GetNotificationsByIdError, GetNotificationsByIdErrors, GetNotificationsByIdRelationshipsByRelationData, GetNotificationsByIdRelationshipsByRelationError, GetNotificationsByIdRelationshipsByRelationErrors, GetNotificationsByIdRelationshipsByRelationResponse, GetNotificationsByIdRelationshipsByRelationResponses, GetNotificationsByIdResponse, GetNotificationsByIdResponses, GetNotificationsCountData, GetNotificationsCountError, GetNotificationsCountErrors, GetNotificationsCountResponse, GetNotificationsCountResponses, GetNotificationsData, GetNotificationsError, GetNotificationsErrors, GetNotificationsResponse, GetNotificationsResponses, GetPreprocessorsByIdData, GetPreprocessorsByIdError, GetPreprocessorsByIdErrors, GetPreprocessorsByIdResponse, GetPreprocessorsByIdResponses, GetPreprocessorsCountData, GetPreprocessorsCountError, GetPreprocessorsCountErrors, GetPreprocessorsCountResponse, GetPreprocessorsCountResponses, GetPreprocessorsData, GetPreprocessorsError, GetPreprocessorsErrors, GetPreprocessorsResponse, GetPreprocessorsResponses, GetPretasksByIdByRelationData, GetPretasksByIdByRelationError, GetPretasksByIdByRelationErrors, GetPretasksByIdByRelationResponse, GetPretasksByIdByRelationResponses, GetPretasksByIdData, GetPretasksByIdError, GetPretasksByIdErrors, GetPretasksByIdRelationshipsByRelationData, GetPretasksByIdRelationshipsByRelationError, GetPretasksByIdRelationshipsByRelationErrors, GetPretasksByIdRelationshipsByRelationResponse, GetPretasksByIdRelationshipsByRelationResponses, GetPretasksByIdResponse, GetPretasksByIdResponses, GetPretasksCountData, GetPretasksCountError, GetPretasksCountErrors, GetPretasksCountResponse, GetPretasksCountResponses, GetPretasksData, GetPretasksError, GetPretasksErrors, GetPretasksResponse, GetPretasksResponses, GetSpeedsByIdByRelationData, GetSpeedsByIdByRelationError, GetSpeedsByIdByRelationErrors, GetSpeedsByIdByRelationResponse, GetSpeedsByIdByRelationResponses, GetSpeedsByIdData, GetSpeedsByIdError, GetSpeedsByIdErrors, GetSpeedsByIdRelationshipsByRelationData, GetSpeedsByIdRelationshipsByRelationError, GetSpeedsByIdRelationshipsByRelationErrors, GetSpeedsByIdRelationshipsByRelationResponse, GetSpeedsByIdRelationshipsByRelationResponses, GetSpeedsByIdResponse, GetSpeedsByIdResponses, GetSpeedsCountData, GetSpeedsCountError, GetSpeedsCountErrors, GetSpeedsCountResponse, GetSpeedsCountResponses, GetSpeedsData, GetSpeedsError, GetSpeedsErrors, GetSpeedsResponse, GetSpeedsResponses, GetSupertasksByIdByRelationData, GetSupertasksByIdByRelationError, GetSupertasksByIdByRelationErrors, GetSupertasksByIdByRelationResponse, GetSupertasksByIdByRelationResponses, GetSupertasksByIdData, GetSupertasksByIdError, GetSupertasksByIdErrors, GetSupertasksByIdRelationshipsByRelationData, GetSupertasksByIdRelationshipsByRelationError, GetSupertasksByIdRelationshipsByRelationErrors, GetSupertasksByIdRelationshipsByRelationResponse, GetSupertasksByIdRelationshipsByRelationResponses, GetSupertasksByIdResponse, GetSupertasksByIdResponses, GetSupertasksCountData, GetSupertasksCountError, GetSupertasksCountErrors, GetSupertasksCountResponse, GetSupertasksCountResponses, GetSupertasksData, GetSupertasksError, GetSupertasksErrors, GetSupertasksResponse, GetSupertasksResponses, GetTasksByIdByRelationData, GetTasksByIdByRelationError, GetTasksByIdByRelationErrors, GetTasksByIdByRelationResponse, GetTasksByIdByRelationResponses, GetTasksByIdData, GetTasksByIdError, GetTasksByIdErrors, GetTasksByIdRelationshipsByRelationData, GetTasksByIdRelationshipsByRelationError, GetTasksByIdRelationshipsByRelationErrors, GetTasksByIdRelationshipsByRelationResponse, GetTasksByIdRelationshipsByRelationResponses, GetTasksByIdResponse, GetTasksByIdResponses, GetTasksCountData, GetTasksCountError, GetTasksCountErrors, GetTasksCountResponse, GetTasksCountResponses, GetTasksData, GetTasksError, GetTasksErrors, GetTasksResponse, GetTasksResponses, GetTaskwrappersByIdByRelationData, GetTaskwrappersByIdByRelationError, GetTaskwrappersByIdByRelationErrors, GetTaskwrappersByIdByRelationResponse, GetTaskwrappersByIdByRelationResponses, GetTaskwrappersByIdData, GetTaskwrappersByIdError, GetTaskwrappersByIdErrors, GetTaskwrappersByIdRelationshipsByRelationData, GetTaskwrappersByIdRelationshipsByRelationError, GetTaskwrappersByIdRelationshipsByRelationErrors, GetTaskwrappersByIdRelationshipsByRelationResponse, GetTaskwrappersByIdRelationshipsByRelationResponses, GetTaskwrappersByIdResponse, GetTaskwrappersByIdResponses, GetTaskwrappersCountData, GetTaskwrappersCountError, GetTaskwrappersCountErrors, GetTaskwrappersCountResponse, GetTaskwrappersCountResponses, GetTaskwrappersData, GetTaskwrappersError, GetTaskwrappersErrors, GetTaskwrappersResponse, GetTaskwrappersResponses, GetUsersByIdByRelationData, GetUsersByIdByRelationError, GetUsersByIdByRelationErrors, GetUsersByIdByRelationResponse, GetUsersByIdByRelationResponses, GetUsersByIdData, GetUsersByIdError, GetUsersByIdErrors, GetUsersByIdRelationshipsByRelationData, GetUsersByIdRelationshipsByRelationError, GetUsersByIdRelationshipsByRelationErrors, GetUsersByIdRelationshipsByRelationResponse, GetUsersByIdRelationshipsByRelationResponses, GetUsersByIdResponse, GetUsersByIdResponses, GetUsersCountData, GetUsersCountError, GetUsersCountErrors, GetUsersCountResponse, GetUsersCountResponses, GetUsersData, GetUsersError, GetUsersErrors, GetUsersResponse, GetUsersResponses, GetVouchersByIdData, GetVouchersByIdError, GetVouchersByIdErrors, GetVouchersByIdResponse, GetVouchersByIdResponses, GetVouchersCountData, GetVouchersCountError, GetVouchersCountErrors, GetVouchersCountResponse, GetVouchersCountResponses, GetVouchersData, GetVouchersError, GetVouchersErrors, GetVouchersResponse, GetVouchersResponses, HashlistCreate, HashlistListResponse, HashlistPatch, HashlistPostPatchResponse, HashlistRelationTasks, HashlistRelationTasksGetResponse, HashlistResponse, HashListResponse, HashlistSingleResponse, HashRelationHashlist, HashRelationHashlistGetResponse, HashResponse, HashTypeCreate, HashTypeListResponse, HashTypePatch, HashTypePostPatchResponse, HashTypeResponse, HeadImportFileById09aF32Data, HeadImportFileById09aF32Responses, HealthCheckAgentListResponse, HealthCheckAgentRelationHealthCheck, HealthCheckAgentRelationHealthCheckGetResponse, HealthCheckAgentResponse, HealthCheckCreate, HealthCheckListResponse, HealthCheckPatch, HealthCheckPostPatchResponse, HealthCheckRelationHealthCheckAgents, HealthCheckRelationHealthCheckAgentsGetResponse, HealthCheckResponse, ImportCrackedHashesHelperApi, ImportCrackedHashesHelperApiResponse, ImportFileHelperApi, JwtApiKeyCreate, JwtApiKeyListResponse, JwtApiKeyPatch, JwtApiKeyPostPatchResponse, JwtApiKeyRelationUser, JwtApiKeyRelationUserGetResponse, JwtApiKeyResponse, LogEntryCreate, LogEntryListResponse, LogEntryPatch, LogEntryPostPatchResponse, LogEntryResponse, MaskSupertaskBuilderHelperApi, NotFoundResponse, NotificationSettingCreate, NotificationSettingListResponse, NotificationSettingPatch, NotificationSettingPostPatchResponse, NotificationSettingRelationUser, NotificationSettingRelationUserGetResponse, NotificationSettingResponse, PatchAccessgroupsByIdData, PatchAccessgroupsByIdError, PatchAccessgroupsByIdErrors, PatchAccessgroupsByIdRelationshipsByRelationData, PatchAccessgroupsByIdRelationshipsByRelationError, PatchAccessgroupsByIdRelationshipsByRelationErrors, PatchAccessgroupsByIdRelationshipsByRelationResponse, PatchAccessgroupsByIdRelationshipsByRelationResponses, PatchAccessgroupsByIdResponse, PatchAccessgroupsByIdResponses, PatchAccessgroupsData, PatchAccessgroupsError, PatchAccessgroupsErrors, PatchAccessgroupsResponses, PatchAgentassignmentsByIdData, PatchAgentassignmentsByIdError, PatchAgentassignmentsByIdErrors, PatchAgentassignmentsByIdRelationshipsByRelationData, PatchAgentassignmentsByIdRelationshipsByRelationError, PatchAgentassignmentsByIdRelationshipsByRelationErrors, PatchAgentassignmentsByIdRelationshipsByRelationResponse, PatchAgentassignmentsByIdRelationshipsByRelationResponses, PatchAgentassignmentsByIdResponse, PatchAgentassignmentsByIdResponses, PatchAgentassignmentsData, PatchAgentassignmentsError, PatchAgentassignmentsErrors, PatchAgentassignmentsResponses, PatchAgentbinariesByIdData, PatchAgentbinariesByIdError, PatchAgentbinariesByIdErrors, PatchAgentbinariesByIdResponse, PatchAgentbinariesByIdResponses, PatchAgentbinariesData, PatchAgentbinariesError, PatchAgentbinariesErrors, PatchAgentbinariesResponses, PatchAgenterrorsByIdRelationshipsByRelationData, PatchAgenterrorsByIdRelationshipsByRelationError, PatchAgenterrorsByIdRelationshipsByRelationErrors, PatchAgenterrorsByIdRelationshipsByRelationResponse, PatchAgenterrorsByIdRelationshipsByRelationResponses, PatchAgentsByIdData, PatchAgentsByIdError, PatchAgentsByIdErrors, PatchAgentsByIdRelationshipsByRelationData, PatchAgentsByIdRelationshipsByRelationError, PatchAgentsByIdRelationshipsByRelationErrors, PatchAgentsByIdRelationshipsByRelationResponse, PatchAgentsByIdRelationshipsByRelationResponses, PatchAgentsByIdResponse, PatchAgentsByIdResponses, PatchAgentsData, PatchAgentsError, PatchAgentsErrors, PatchAgentsResponses, PatchApiTokensByIdData, PatchApiTokensByIdError, PatchApiTokensByIdErrors, PatchApiTokensByIdRelationshipsByRelationData, PatchApiTokensByIdRelationshipsByRelationError, PatchApiTokensByIdRelationshipsByRelationErrors, PatchApiTokensByIdRelationshipsByRelationResponse, PatchApiTokensByIdRelationshipsByRelationResponses, PatchApiTokensByIdResponse, PatchApiTokensByIdResponses, PatchApiTokensData, PatchApiTokensError, PatchApiTokensErrors, PatchApiTokensResponses, PatchChunksByIdRelationshipsByRelationData, PatchChunksByIdRelationshipsByRelationError, PatchChunksByIdRelationshipsByRelationErrors, PatchChunksByIdRelationshipsByRelationResponse, PatchChunksByIdRelationshipsByRelationResponses, PatchConfigsByIdData, PatchConfigsByIdError, PatchConfigsByIdErrors, PatchConfigsByIdRelationshipsByRelationData, PatchConfigsByIdRelationshipsByRelationError, PatchConfigsByIdRelationshipsByRelationErrors, PatchConfigsByIdRelationshipsByRelationResponse, PatchConfigsByIdRelationshipsByRelationResponses, PatchConfigsByIdResponse, PatchConfigsByIdResponses, PatchConfigsData, PatchConfigsError, PatchConfigsErrors, PatchConfigsResponses, PatchCrackersByIdData, PatchCrackersByIdError, PatchCrackersByIdErrors, PatchCrackersByIdRelationshipsByRelationData, PatchCrackersByIdRelationshipsByRelationError, PatchCrackersByIdRelationshipsByRelationErrors, PatchCrackersByIdRelationshipsByRelationResponse, PatchCrackersByIdRelationshipsByRelationResponses, PatchCrackersByIdResponse, PatchCrackersByIdResponses, PatchCrackersData, PatchCrackersError, PatchCrackersErrors, PatchCrackersResponses, PatchCrackertypesByIdData, PatchCrackertypesByIdError, PatchCrackertypesByIdErrors, PatchCrackertypesByIdRelationshipsByRelationData, PatchCrackertypesByIdRelationshipsByRelationError, PatchCrackertypesByIdRelationshipsByRelationErrors, PatchCrackertypesByIdRelationshipsByRelationResponse, PatchCrackertypesByIdRelationshipsByRelationResponses, PatchCrackertypesByIdResponse, PatchCrackertypesByIdResponses, PatchCrackertypesData, PatchCrackertypesError, PatchCrackertypesErrors, PatchCrackertypesResponses, PatchCurrentUserData, PatchCurrentUserResponses, PatchFilesByIdData, PatchFilesByIdError, PatchFilesByIdErrors, PatchFilesByIdRelationshipsByRelationData, PatchFilesByIdRelationshipsByRelationError, PatchFilesByIdRelationshipsByRelationErrors, PatchFilesByIdRelationshipsByRelationResponse, PatchFilesByIdRelationshipsByRelationResponses, PatchFilesByIdResponse, PatchFilesByIdResponses, PatchFilesData, PatchFilesError, PatchFilesErrors, PatchFilesResponses, PatchGlobalpermissiongroupsByIdData, PatchGlobalpermissiongroupsByIdError, PatchGlobalpermissiongroupsByIdErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationData, PatchGlobalpermissiongroupsByIdRelationshipsByRelationError, PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PatchGlobalpermissiongroupsByIdResponse, PatchGlobalpermissiongroupsByIdResponses, PatchGlobalpermissiongroupsData, PatchGlobalpermissiongroupsError, PatchGlobalpermissiongroupsErrors, PatchGlobalpermissiongroupsResponses, PatchHashesByIdRelationshipsByRelationData, PatchHashesByIdRelationshipsByRelationError, PatchHashesByIdRelationshipsByRelationErrors, PatchHashesByIdRelationshipsByRelationResponse, PatchHashesByIdRelationshipsByRelationResponses, PatchHashlistsByIdData, PatchHashlistsByIdError, PatchHashlistsByIdErrors, PatchHashlistsByIdRelationshipsByRelationData, PatchHashlistsByIdRelationshipsByRelationError, PatchHashlistsByIdRelationshipsByRelationErrors, PatchHashlistsByIdRelationshipsByRelationResponse, PatchHashlistsByIdRelationshipsByRelationResponses, PatchHashlistsByIdResponse, PatchHashlistsByIdResponses, PatchHashlistsData, PatchHashlistsError, PatchHashlistsErrors, PatchHashlistsResponses, PatchHashtypesByIdData, PatchHashtypesByIdError, PatchHashtypesByIdErrors, PatchHashtypesByIdResponse, PatchHashtypesByIdResponses, PatchHashtypesData, PatchHashtypesError, PatchHashtypesErrors, PatchHashtypesResponses, PatchHealthcheckagentsByIdRelationshipsByRelationData, PatchHealthcheckagentsByIdRelationshipsByRelationError, PatchHealthcheckagentsByIdRelationshipsByRelationErrors, PatchHealthcheckagentsByIdRelationshipsByRelationResponse, PatchHealthcheckagentsByIdRelationshipsByRelationResponses, PatchHealthchecksByIdData, PatchHealthchecksByIdError, PatchHealthchecksByIdErrors, PatchHealthchecksByIdRelationshipsByRelationData, PatchHealthchecksByIdRelationshipsByRelationError, PatchHealthchecksByIdRelationshipsByRelationErrors, PatchHealthchecksByIdRelationshipsByRelationResponse, PatchHealthchecksByIdRelationshipsByRelationResponses, PatchHealthchecksByIdResponse, PatchHealthchecksByIdResponses, PatchHealthchecksData, PatchHealthchecksError, PatchHealthchecksErrors, PatchHealthchecksResponses, PatchImportFileById09aF32Data, PatchImportFileById09aF32Response, PatchImportFileById09aF32Responses, PatchLogentriesByIdData, PatchLogentriesByIdError, PatchLogentriesByIdErrors, PatchLogentriesByIdResponse, PatchLogentriesByIdResponses, PatchLogentriesData, PatchLogentriesError, PatchLogentriesErrors, PatchLogentriesResponses, PatchNotificationsByIdData, PatchNotificationsByIdError, PatchNotificationsByIdErrors, PatchNotificationsByIdRelationshipsByRelationData, PatchNotificationsByIdRelationshipsByRelationError, PatchNotificationsByIdRelationshipsByRelationErrors, PatchNotificationsByIdRelationshipsByRelationResponse, PatchNotificationsByIdRelationshipsByRelationResponses, PatchNotificationsByIdResponse, PatchNotificationsByIdResponses, PatchNotificationsData, PatchNotificationsError, PatchNotificationsErrors, PatchNotificationsResponses, PatchPreprocessorsByIdData, PatchPreprocessorsByIdError, PatchPreprocessorsByIdErrors, PatchPreprocessorsByIdResponse, PatchPreprocessorsByIdResponses, PatchPreprocessorsData, PatchPreprocessorsError, PatchPreprocessorsErrors, PatchPreprocessorsResponses, PatchPretasksByIdData, PatchPretasksByIdError, PatchPretasksByIdErrors, PatchPretasksByIdRelationshipsByRelationData, PatchPretasksByIdRelationshipsByRelationError, PatchPretasksByIdRelationshipsByRelationErrors, PatchPretasksByIdRelationshipsByRelationResponse, PatchPretasksByIdRelationshipsByRelationResponses, PatchPretasksByIdResponse, PatchPretasksByIdResponses, PatchPretasksData, PatchPretasksError, PatchPretasksErrors, PatchPretasksResponses, PatchSpeedsByIdRelationshipsByRelationData, PatchSpeedsByIdRelationshipsByRelationError, PatchSpeedsByIdRelationshipsByRelationErrors, PatchSpeedsByIdRelationshipsByRelationResponse, PatchSpeedsByIdRelationshipsByRelationResponses, PatchSupertasksByIdData, PatchSupertasksByIdError, PatchSupertasksByIdErrors, PatchSupertasksByIdRelationshipsByRelationData, PatchSupertasksByIdRelationshipsByRelationError, PatchSupertasksByIdRelationshipsByRelationErrors, PatchSupertasksByIdRelationshipsByRelationResponse, PatchSupertasksByIdRelationshipsByRelationResponses, PatchSupertasksByIdResponse, PatchSupertasksByIdResponses, PatchSupertasksData, PatchSupertasksError, PatchSupertasksErrors, PatchSupertasksResponses, PatchTasksByIdData, PatchTasksByIdError, PatchTasksByIdErrors, PatchTasksByIdRelationshipsByRelationData, PatchTasksByIdRelationshipsByRelationError, PatchTasksByIdRelationshipsByRelationErrors, PatchTasksByIdRelationshipsByRelationResponse, PatchTasksByIdRelationshipsByRelationResponses, PatchTasksByIdResponse, PatchTasksByIdResponses, PatchTasksData, PatchTasksError, PatchTasksErrors, PatchTasksResponses, PatchTaskwrappersByIdData, PatchTaskwrappersByIdError, PatchTaskwrappersByIdErrors, PatchTaskwrappersByIdRelationshipsByRelationData, PatchTaskwrappersByIdRelationshipsByRelationError, PatchTaskwrappersByIdRelationshipsByRelationErrors, PatchTaskwrappersByIdRelationshipsByRelationResponse, PatchTaskwrappersByIdRelationshipsByRelationResponses, PatchTaskwrappersByIdResponse, PatchTaskwrappersByIdResponses, PatchTaskwrappersData, PatchTaskwrappersError, PatchTaskwrappersErrors, PatchTaskwrappersResponses, PatchUsersByIdData, PatchUsersByIdError, PatchUsersByIdErrors, PatchUsersByIdRelationshipsByRelationData, PatchUsersByIdRelationshipsByRelationError, PatchUsersByIdRelationshipsByRelationErrors, PatchUsersByIdRelationshipsByRelationResponse, PatchUsersByIdRelationshipsByRelationResponses, PatchUsersByIdResponse, PatchUsersByIdResponses, PatchUsersData, PatchUsersError, PatchUsersErrors, PatchUsersResponses, PatchVouchersByIdData, PatchVouchersByIdError, PatchVouchersByIdErrors, PatchVouchersByIdResponse, PatchVouchersByIdResponses, PatchVouchersData, PatchVouchersError, PatchVouchersErrors, PatchVouchersResponses, PostAbortChunkData, PostAbortChunkResponse, PostAbortChunkResponses, PostAccessgroupsByIdRelationshipsByRelationData, PostAccessgroupsByIdRelationshipsByRelationError, PostAccessgroupsByIdRelationshipsByRelationErrors, PostAccessgroupsByIdRelationshipsByRelationResponse, PostAccessgroupsByIdRelationshipsByRelationResponses, PostAccessgroupsData, PostAccessgroupsError, PostAccessgroupsErrors, PostAccessgroupsResponse, PostAccessgroupsResponses, PostAgentassignmentsData, PostAgentassignmentsError, PostAgentassignmentsErrors, PostAgentassignmentsResponse, PostAgentassignmentsResponses, PostAgentbinariesData, PostAgentbinariesError, PostAgentbinariesErrors, PostAgentbinariesResponse, PostAgentbinariesResponses, PostAgentsByIdRelationshipsByRelationData, PostAgentsByIdRelationshipsByRelationError, PostAgentsByIdRelationshipsByRelationErrors, PostAgentsByIdRelationshipsByRelationResponse, PostAgentsByIdRelationshipsByRelationResponses, PostApiTokensData, PostApiTokensError, PostApiTokensErrors, PostApiTokensResponse, PostApiTokensResponses, PostAssignAgentData, PostAssignAgentResponse, PostAssignAgentResponses, PostBulkSupertaskBuilderData, PostBulkSupertaskBuilderResponse, PostBulkSupertaskBuilderResponses, PostChangeOwnPasswordData, PostChangeOwnPasswordResponse, PostChangeOwnPasswordResponses, PostCrackersByIdRelationshipsByRelationData, PostCrackersByIdRelationshipsByRelationError, PostCrackersByIdRelationshipsByRelationErrors, PostCrackersByIdRelationshipsByRelationResponse, PostCrackersByIdRelationshipsByRelationResponses, PostCrackersData, PostCrackersError, PostCrackersErrors, PostCrackersResponse, PostCrackersResponses, PostCrackertypesByIdRelationshipsByRelationData, PostCrackertypesByIdRelationshipsByRelationError, PostCrackertypesByIdRelationshipsByRelationErrors, PostCrackertypesByIdRelationshipsByRelationResponse, PostCrackertypesByIdRelationshipsByRelationResponses, PostCrackertypesData, PostCrackertypesError, PostCrackertypesErrors, PostCrackertypesResponse, PostCrackertypesResponses, PostCreateSuperHashlistData, PostCreateSuperHashlistResponse, PostCreateSuperHashlistResponses, PostCreateSupertaskData, PostCreateSupertaskResponse, PostCreateSupertaskResponses, PostExportCrackedHashesData, PostExportCrackedHashesResponse, PostExportCrackedHashesResponses, PostExportLeftHashesData, PostExportLeftHashesResponse, PostExportLeftHashesResponses, PostExportWordlistData, PostExportWordlistResponse, PostExportWordlistResponses, PostFilesData, PostFilesError, PostFilesErrors, PostFilesResponse, PostFilesResponses, PostGlobalpermissiongroupsByIdRelationshipsByRelationData, PostGlobalpermissiongroupsByIdRelationshipsByRelationError, PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PostGlobalpermissiongroupsData, PostGlobalpermissiongroupsError, PostGlobalpermissiongroupsErrors, PostGlobalpermissiongroupsResponse, PostGlobalpermissiongroupsResponses, PostHashlistsByIdRelationshipsByRelationData, PostHashlistsByIdRelationshipsByRelationError, PostHashlistsByIdRelationshipsByRelationErrors, PostHashlistsByIdRelationshipsByRelationResponse, PostHashlistsByIdRelationshipsByRelationResponses, PostHashlistsData, PostHashlistsError, PostHashlistsErrors, PostHashlistsResponse, PostHashlistsResponses, PostHashtypesData, PostHashtypesError, PostHashtypesErrors, PostHashtypesResponse, PostHashtypesResponses, PostHealthchecksByIdRelationshipsByRelationData, PostHealthchecksByIdRelationshipsByRelationError, PostHealthchecksByIdRelationshipsByRelationErrors, PostHealthchecksByIdRelationshipsByRelationResponse, PostHealthchecksByIdRelationshipsByRelationResponses, PostHealthchecksData, PostHealthchecksError, PostHealthchecksErrors, PostHealthchecksResponse, PostHealthchecksResponses, PostImportCrackedHashesData, PostImportCrackedHashesResponse, PostImportCrackedHashesResponses, PostImportFileData, PostImportFileResponse, PostImportFileResponses, PostLogentriesData, PostLogentriesError, PostLogentriesErrors, PostLogentriesResponse, PostLogentriesResponses, PostMaskSupertaskBuilderData, PostMaskSupertaskBuilderResponse, PostMaskSupertaskBuilderResponses, PostNotificationsData, PostNotificationsError, PostNotificationsErrors, PostNotificationsResponse, PostNotificationsResponses, PostPreprocessorsData, PostPreprocessorsError, PostPreprocessorsErrors, PostPreprocessorsResponse, PostPreprocessorsResponses, PostPretasksByIdRelationshipsByRelationData, PostPretasksByIdRelationshipsByRelationError, PostPretasksByIdRelationshipsByRelationErrors, PostPretasksByIdRelationshipsByRelationResponse, PostPretasksByIdRelationshipsByRelationResponses, PostPretasksData, PostPretasksError, PostPretasksErrors, PostPretasksResponse, PostPretasksResponses, PostPurgeTaskData, PostPurgeTaskResponse, PostPurgeTaskResponses, PostRebuildChunkCacheData, PostRebuildChunkCacheResponse, PostRebuildChunkCacheResponses, PostRecountFileLinesData, PostRecountFileLinesResponse, PostRecountFileLinesResponses, PostRescanGlobalFilesData, PostRescanGlobalFilesResponse, PostRescanGlobalFilesResponses, PostResetChunkData, PostResetChunkResponse, PostResetChunkResponses, PostResetUserPasswordData, PostResetUserPasswordResponse, PostResetUserPasswordResponses, PostSearchHashesData, PostSearchHashesResponse, PostSearchHashesResponses, PostSetUserPasswordData, PostSetUserPasswordResponse, PostSetUserPasswordResponses, PostSupertasksByIdRelationshipsByRelationData, PostSupertasksByIdRelationshipsByRelationError, PostSupertasksByIdRelationshipsByRelationErrors, PostSupertasksByIdRelationshipsByRelationResponse, PostSupertasksByIdRelationshipsByRelationResponses, PostSupertasksData, PostSupertasksError, PostSupertasksErrors, PostSupertasksResponse, PostSupertasksResponses, PostTasksByIdRelationshipsByRelationData, PostTasksByIdRelationshipsByRelationError, PostTasksByIdRelationshipsByRelationErrors, PostTasksByIdRelationshipsByRelationResponse, PostTasksByIdRelationshipsByRelationResponses, PostTasksData, PostTasksError, PostTasksErrors, PostTasksResponse, PostTasksResponses, PostTaskwrappersByIdRelationshipsByRelationData, PostTaskwrappersByIdRelationshipsByRelationError, PostTaskwrappersByIdRelationshipsByRelationErrors, PostTaskwrappersByIdRelationshipsByRelationResponse, PostTaskwrappersByIdRelationshipsByRelationResponses, PostTokenData, PostTokenError, PostTokenErrors, PostTokenResponse, PostTokenResponses, PostUnassignAgentData, PostUnassignAgentResponse, PostUnassignAgentResponses, PostUsersByIdRelationshipsByRelationData, PostUsersByIdRelationshipsByRelationError, PostUsersByIdRelationshipsByRelationErrors, PostUsersByIdRelationshipsByRelationResponse, PostUsersByIdRelationshipsByRelationResponses, PostUsersData, PostUsersError, PostUsersErrors, PostUsersResponse, PostUsersResponses, PostVouchersData, PostVouchersError, PostVouchersErrors, PostVouchersResponse, PostVouchersResponses, PreprocessorCreate, PreprocessorListResponse, PreprocessorPatch, PreprocessorPostPatchResponse, PreprocessorResponse, PretaskCreate, PretaskListResponse, PretaskPatch, PretaskPostPatchResponse, PretaskRelationPretaskFiles, PretaskRelationPretaskFilesGetResponse, PretaskResponse, PurgeTaskHelperApi, PurgeTaskHelperApiResponse, RebuildChunkCacheHelperApi, RebuildChunkCacheHelperApiResponse, RecountFileLinesHelperApi, RegVoucherCreate, RegVoucherListResponse, RegVoucherPatch, RegVoucherPostPatchResponse, RegVoucherResponse, RescanGlobalFilesHelperApi, RescanGlobalFilesHelperApiResponse, ResetChunkHelperApi, ResetChunkHelperApiResponse, ResetUserPasswordHelperApi, ResetUserPasswordHelperApiResponse, RightGroupCreate, RightGroupListResponse, RightGroupPatch, RightGroupPostPatchResponse, RightGroupRelationUserMembers, RightGroupRelationUserMembersGetResponse, RightGroupResponse, SearchHashesHelperApi, SearchHashesHelperApiResponse, SetUserPasswordHelperApi, SetUserPasswordHelperApiResponse, SpeedListResponse, SpeedRelationTask, SpeedRelationTaskGetResponse, SpeedResponse, SupertaskCreate, SupertaskListResponse, SupertaskPatch, SupertaskPostPatchResponse, SupertaskRelationPretasks, SupertaskRelationPretasksGetResponse, SupertaskResponse, SupertaskSingleResponse, TaskCreate, TaskListResponse, TaskPatch, TaskPostPatchResponse, TaskRelationSpeeds, TaskRelationSpeedsGetResponse, TaskResponse, TaskWrapperListResponse, TaskWrapperPatch, TaskWrapperPostPatchResponse, TaskWrapperRelationTasks, TaskWrapperRelationTasksGetResponse, TaskWrapperResponse, TaskWrapperSingleResponse, Token, TokenRequest, UnassignAgentHelperApi, UnassignAgentHelperApiResponse, UserCreate, UserListResponse, UserPatch, UserPostPatchResponse, UserRelationAccessGroups, UserRelationAccessGroupsGetResponse, UserResponse } from './types.gen'; diff --git a/src/generated/api/types.gen.ts b/src/generated/api/types.gen.ts index 483b11168..3dcd1af9e 100644 --- a/src/generated/api/types.gen.ts +++ b/src/generated/api/types.gen.ts @@ -7,11 +7,11 @@ export type ClientOptions = { export type ErrorResponse = { title?: string; type?: string; - status?: number; + status: number; }; export type NotFoundResponse = { - message?: string; + message: string; exception?: { type?: string; code?: number; @@ -22,59 +22,67 @@ export type NotFoundResponse = { }; export type AccessGroupCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'accessGroup'; + attributes: { groupName?: string; }; }; }; export type AccessGroupPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'accessGroup'; + attributes: { groupName?: string; }; }; }; export type AccessGroupResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - groupName?: string; + data: { + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; }; - }>; + }; relationships?: { - agentMembers?: { - links?: { - self?: string; - related?: string; + agentMembers: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'agent'; + id: number; + }>; }; - userMembers?: { - links?: { - self?: string; - related?: string; + userMembers: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'user'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'agentMembers'; attributes?: { agentId?: number; agentName?: string; @@ -97,37 +105,102 @@ export type AccessGroupResponse = { }; export type AccessGroupPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + }; +}; + +export type AccessGroupListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + }>; + relationships?: { + agentMembers: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agent'; + id: number; + }>; + }; + userMembers: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'user'; + id: number; + }>; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'agentMembers'; attributes?: { - groupName?: string; + agentId?: number; + agentName?: string; + uid?: string; + os?: number; + devices?: string; + cmdPars?: string; + ignoreErrors?: 0 | 1 | 2; + isActive?: boolean; + isTrusted?: boolean; + token?: string; + lastAct?: string; + lastTime?: number; + lastIp?: string; + userId?: number; + cpuOnly?: boolean; + clientSignature?: string; }; }>; }; export type AccessGroupRelationAgentMembers = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'agentMembers'; + id: number; }>; }; export type AccessGroupRelationAgentMembersGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'agentMembers'; + id: number; }>; }; export type AgentPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'agent'; + attributes: { agentName?: string; cmdPars?: string; cpuOnly?: boolean; @@ -142,85 +215,113 @@ export type AgentPatch = { }; export type AgentResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - agentName?: string; - uid?: string; - os?: number; - devices?: string; - cmdPars?: string; - ignoreErrors?: 0 | 1 | 2; - isActive?: boolean; - isTrusted?: boolean; - token?: string; - lastAct?: string; - lastTime?: number; - lastIp?: string; - userId?: number; - cpuOnly?: boolean; - clientSignature?: string; + data: { + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: number; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; }; - }>; + }; relationships?: { - accessGroups?: { - links?: { - self?: string; - related?: string; + accessGroups: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'accessGroup'; + id: number; + }>; }; - agentErrors?: { - links?: { - self?: string; - related?: string; + agentErrors: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'agentError'; + id: number; + }>; }; - agentStats?: { - links?: { - self?: string; - related?: string; + agentStats: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'agentStat'; + id: number; + }>; }; - assignments?: { - links?: { - self?: string; - related?: string; + assignments: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'agentAssignment'; + id: number; + }>; }; - chunks?: { - links?: { - self?: string; - related?: string; + chunks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'chunk'; + id: number; + }>; }; - tasks?: { - links?: { - self?: string; - related?: string; + tasks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; - user?: { - links?: { - self?: string; - related?: string; + user: { + links: { + self: string; + related: string; }; + data?: { + type: 'user'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'assignments'; attributes?: { assignmentId?: number; taskId?: number; @@ -231,51 +332,168 @@ export type AgentResponse = { }; export type AgentPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: number; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + }; +}; + +export type AgentListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: number; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + }>; + relationships?: { + accessGroups: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'accessGroup'; + id: number; + }>; + }; + agentErrors: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agentError'; + id: number; + }>; + }; + agentStats: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agentStat'; + id: number; + }>; + }; + assignments: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agentAssignment'; + id: number; + }>; + }; + chunks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'chunk'; + id: number; + }>; + }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; + }; + user: { + links: { + self: string; + related: string; + }; + data?: { + type: 'user'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'assignments'; attributes?: { - agentName?: string; - uid?: string; - os?: number; - devices?: string; - cmdPars?: string; - ignoreErrors?: 0 | 1 | 2; - isActive?: boolean; - isTrusted?: boolean; - token?: string; - lastAct?: string; - lastTime?: number; - lastIp?: string; - userId?: number; - cpuOnly?: boolean; - clientSignature?: string; + assignmentId?: number; + taskId?: number; + agentId?: number; + benchmark?: string; }; }>; }; export type AgentRelationAssignments = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'assignments'; + id: number; }>; }; export type AgentRelationAssignmentsGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'assignments'; + id: number; }>; }; export type AssignmentCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'assignment'; + attributes: { taskId?: number; agentId?: number; benchmark?: string; @@ -284,52 +502,60 @@ export type AssignmentCreate = { }; export type AssignmentPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'assignment'; + attributes: { benchmark?: string; }; }; }; export type AssignmentResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - taskId?: number; - agentId?: number; - benchmark?: string; + data: { + id: number; + type: 'assignment'; + attributes: { + taskId: number; + agentId: number; + benchmark: string; }; - }>; + }; relationships?: { - agent?: { - links?: { - self?: string; - related?: string; + agent: { + links: { + self: string; + related: string; }; + data?: { + type: 'agent'; + id: number; + } | null; }; - task?: { - links?: { - self?: string; - related?: string; + task: { + links: { + self: string; + related: string; }; + data?: { + type: 'task'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'task'; attributes?: { hashlistId?: number; files?: Array; @@ -362,39 +588,116 @@ export type AssignmentResponse = { }; export type AssignmentPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'assignment'; + attributes: { + taskId: number; + agentId: number; + benchmark: string; + }; + }; +}; + +export type AssignmentListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'assignment'; + attributes: { + taskId: number; + agentId: number; + benchmark: string; + }; + }>; + relationships?: { + agent: { + links: { + self: string; + related: string; + }; + data?: { + type: 'agent'; + id: number; + } | null; + }; + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'task'; attributes?: { + hashlistId?: number; + files?: Array; taskId?: number; - agentId?: number; - benchmark?: string; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; }; }>; }; export type AssignmentRelationTask = { - data?: { - type?: string; - id?: number; + data: { + type: 'task'; + id: number; }; }; export type AssignmentRelationTaskGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'task'; + id: number; }; }; export type AgentBinaryCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'agentBinary'; + attributes: { binaryType?: string; version?: string; operatingSystems?: string; @@ -405,9 +708,9 @@ export type AgentBinaryCreate = { }; export type AgentBinaryPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'agentBinary'; + attributes: { binaryType?: string; filename?: string; operatingSystems?: string; @@ -418,29 +721,29 @@ export type AgentBinaryPatch = { }; export type AgentBinaryResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - binaryType?: string; - version?: string; - operatingSystems?: string; - filename?: string; - updateTrack?: string; - updateAvailable?: string; + data: { + id: number; + type: 'agentBinary'; + attributes: { + binaryType: string; + version: string; + operatingSystems: string; + filename: string; + updateTrack: string; + updateAvailable: string; }; - }>; + }; relationships?: { [key: string]: unknown; }; @@ -450,62 +753,98 @@ export type AgentBinaryResponse = { }; export type AgentBinaryPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - binaryType?: string; - version?: string; - operatingSystems?: string; - filename?: string; - updateTrack?: string; - updateAvailable?: string; + data: { + id: number; + type: 'agentBinary'; + attributes: { + binaryType: string; + version: string; + operatingSystems: string; + filename: string; + updateTrack: string; + updateAvailable: string; }; - }>; + }; }; -export type AgentErrorResponse = { - jsonapi?: { - version?: string; +export type AgentBinaryListResponse = { + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - agentId?: number; - taskId?: number; - chunkId?: number; - time?: number; - error?: string; + data: Array<{ + id: number; + type: 'agentBinary'; + attributes: { + binaryType: string; + version: string; + operatingSystems: string; + filename: string; + updateTrack: string; + updateAvailable: string; }; }>; relationships?: { - task?: { - links?: { - self?: string; - related?: string; - }; - }; + [key: string]: unknown; }; included?: Array<{ - id?: number; - type?: string; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; + [key: string]: unknown; + }>; +}; + +export type AgentErrorResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: { + id: number; + type: 'agentError'; + attributes: { + agentId: number; + taskId: number; + chunkId: number; + time: number; + error: string; + }; + }; + relationships?: { + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; + }; + }; + included?: Array<{ + id?: number; + type?: 'task'; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; taskName?: string; attackCmd?: string; chunkTime?: number; @@ -533,40 +872,139 @@ export type AgentErrorResponse = { }>; }; -export type AgentErrorRelationTask = { - data?: { - type?: string; +export type AgentErrorListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'agentError'; + attributes: { + agentId: number; + taskId: number; + chunkId: number; + time: number; + error: string; + }; + }>; + relationships?: { + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; + type?: 'task'; + attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type AgentErrorRelationTask = { + data: { + type: 'task'; + id: number; }; }; export type AgentErrorRelationTaskGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'task'; + id: number; }; }; export type AgentStatResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - agentId?: number; - statType?: number; - time?: number; - value?: Array; + data: { + id: number; + type: 'agentStat'; + attributes: { + agentId: number; + statType: number; + time: number; + value: Array; + }; + }; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; +}; + +export type AgentStatListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'agentStat'; + attributes: { + agentId: number; + statType: number; + time: number; + value: Array; }; }>; relationships?: { @@ -578,9 +1016,9 @@ export type AgentStatResponse = { }; export type JwtApiKeyCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'jwtApiKey'; + attributes: { scopes?: Array; startValid?: number; endValid?: number; @@ -591,47 +1029,52 @@ export type JwtApiKeyCreate = { }; export type JwtApiKeyPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'jwtApiKey'; + attributes: { isRevoked?: boolean; }; }; }; export type JwtApiKeyResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - startValid?: number; - endValid?: number; - userId?: number; - isRevoked?: boolean; + data: { + id: number; + type: 'jwtApiKey'; + attributes: { + startValid: number; + endValid: number; + userId: number; + isRevoked: boolean; + token?: string; }; - }>; + }; relationships?: { - user?: { - links?: { - self?: string; - related?: string; + user: { + links: { + self: string; + related: string; }; + data?: { + type: 'user'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'user'; attributes?: { userId?: number; name?: string; @@ -654,82 +1097,235 @@ export type JwtApiKeyResponse = { }; export type JwtApiKeyPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'jwtApiKey'; + attributes: { + startValid: number; + endValid: number; + userId: number; + isRevoked: boolean; + token?: string; + }; + }; +}; + +export type JwtApiKeyListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'jwtApiKey'; + attributes: { + startValid: number; + endValid: number; + userId: number; + isRevoked: boolean; + token?: string; + }; + }>; + relationships?: { + user: { + links: { + self: string; + related: string; + }; + data?: { + type: 'user'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'user'; attributes?: { - startValid?: number; - endValid?: number; userId?: number; - isRevoked?: boolean; + name?: string; + email?: string; + passwordHash?: string; + passwordSalt?: string; + isValid?: boolean; + isComputedPassword?: boolean; + lastLoginDate?: number; + registeredSince?: number; + sessionLifetime?: number; + globalPermissionGroupId?: number; + yubikey?: string; + otp1?: string; + otp2?: string; + otp3?: string; + otp4?: string; }; }>; }; export type JwtApiKeyRelationUser = { - data?: { - type?: string; - id?: number; + data: { + type: 'user'; + id: number; }; }; export type JwtApiKeyRelationUserGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'user'; + id: number; }; }; export type ChunkResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ + data: { + id: number; + type: 'chunk'; + attributes: { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: number; + cracked: number; + speed: number; + }; + }; + relationships?: { + agent: { + links: { + self: string; + related: string; + }; + data?: { + type: 'agent'; + id: number; + } | null; + }; + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'task'; attributes?: { + hashlistId?: number; + files?: Array; taskId?: number; - skip?: number; - length?: number; - agentId?: number; - dispatchTime?: number; - solveTime?: number; - checkpoint?: number; - progress?: number; - state?: number; - cracked?: number; - speed?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type ChunkListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'chunk'; + attributes: { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: number; + cracked: number; + speed: number; }; }>; relationships?: { - agent?: { - links?: { - self?: string; - related?: string; + agent: { + links: { + self: string; + related: string; }; + data?: { + type: 'agent'; + id: number; + } | null; }; - task?: { - links?: { - self?: string; - related?: string; + task: { + links: { + self: string; + related: string; }; + data?: { + type: 'task'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'task'; attributes?: { hashlistId?: number; files?: Array; @@ -762,23 +1358,23 @@ export type ChunkResponse = { }; export type ChunkRelationTask = { - data?: { - type?: string; - id?: number; + data: { + type: 'task'; + id: number; }; }; export type ChunkRelationTaskGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'task'; + id: number; }; }; export type ConfigPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'config'; + attributes: { item?: string; value?: string; }; @@ -786,37 +1382,41 @@ export type ConfigPatch = { }; export type ConfigResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - configSectionId?: number; - item?: string; - value?: string; + data: { + id: number; + type: 'config'; + attributes: { + configSectionId: number; + item: string; + value: string; }; - }>; + }; relationships?: { - configSection?: { - links?: { - self?: string; - related?: string; + configSection: { + links: { + self: string; + related: string; }; + data?: { + type: 'configSection'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'configSection'; attributes?: { configSectionId?: number; sectionName?: string; @@ -825,52 +1425,122 @@ export type ConfigResponse = { }; export type ConfigPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'config'; + attributes: { + configSectionId: number; + item: string; + value: string; + }; + }; +}; + +export type ConfigListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'config'; + attributes: { + configSectionId: number; + item: string; + value: string; + }; + }>; + relationships?: { + configSection: { + links: { + self: string; + related: string; + }; + data?: { + type: 'configSection'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'configSection'; attributes?: { configSectionId?: number; - item?: string; - value?: string; + sectionName?: string; }; }>; }; export type ConfigRelationConfigSection = { - data?: { - type?: string; - id?: number; + data: { + type: 'configSection'; + id: number; }; }; export type ConfigRelationConfigSectionGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'configSection'; + id: number; + }; +}; + +export type ConfigSectionResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: { + id: number; + type: 'configSection'; + attributes: { + sectionName: string; + }; + }; + relationships?: { + [key: string]: unknown; }; + included?: Array<{ + [key: string]: unknown; + }>; }; -export type ConfigSectionResponse = { - jsonapi?: { - version?: string; +export type ConfigSectionListResponse = { + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - sectionName?: string; + data: Array<{ + id: number; + type: 'configSection'; + attributes: { + sectionName: string; }; }>; relationships?: { @@ -882,9 +1552,9 @@ export type ConfigSectionResponse = { }; export type CrackerBinaryCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'crackerBinary'; + attributes: { crackerBinaryTypeId?: number; version?: string; downloadUrl?: string; @@ -894,9 +1564,9 @@ export type CrackerBinaryCreate = { }; export type CrackerBinaryPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'crackerBinary'; + attributes: { binaryName?: string; downloadUrl?: string; version?: string; @@ -905,44 +1575,52 @@ export type CrackerBinaryPatch = { }; export type CrackerBinaryResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - crackerBinaryTypeId?: number; - version?: string; - downloadUrl?: string; - binaryName?: string; + data: { + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; }; - }>; + }; relationships?: { - crackerBinaryType?: { - links?: { - self?: string; - related?: string; + crackerBinaryType: { + links: { + self: string; + related: string; }; + data?: { + type: 'crackerBinaryType'; + id: number; + } | null; }; - tasks?: { - links?: { - self?: string; - related?: string; + tasks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { hashlistId?: number; files?: Array; @@ -975,49 +1653,127 @@ export type CrackerBinaryResponse = { }; export type CrackerBinaryPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + data: { + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + }; +}; + +export type CrackerBinaryListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + }>; + relationships?: { + crackerBinaryType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'crackerBinaryType'; + id: number; + } | null; + }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; crackerBinaryTypeId?: number; - version?: string; - downloadUrl?: string; - binaryName?: string; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; }; }>; }; export type CrackerBinaryRelationTasks = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'tasks'; + id: number; }>; }; export type CrackerBinaryRelationTasksGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'tasks'; + id: number; }>; }; export type CrackerBinaryTypeCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'crackerBinaryType'; + attributes: { typeName?: string; }; }; }; export type CrackerBinaryTypePatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'crackerBinaryType'; + attributes: { isChunkingAvailable?: boolean; typeName?: string; }; @@ -1025,42 +1781,50 @@ export type CrackerBinaryTypePatch = { }; export type CrackerBinaryTypeResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - typeName?: string; - isChunkingAvailable?: boolean; + data: { + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; }; - }>; + }; relationships?: { - crackerVersions?: { - links?: { - self?: string; - related?: string; + crackerVersions: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'crackerBinary'; + id: number; + }>; }; - tasks?: { - links?: { - self?: string; - related?: string; + tasks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { hashlistId?: number; files?: Array; @@ -1093,38 +1857,114 @@ export type CrackerBinaryTypeResponse = { }; export type CrackerBinaryTypePostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; + }; + }; +}; + +export type CrackerBinaryTypeListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; + }; + }>; + relationships?: { + crackerVersions: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'crackerBinary'; + id: number; + }>; + }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { - typeName?: string; - isChunkingAvailable?: boolean; + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; }; }>; }; export type CrackerBinaryTypeRelationTasks = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'tasks'; + id: number; }>; }; export type CrackerBinaryTypeRelationTasksGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'tasks'; + id: number; }>; }; export type FileCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'file'; + attributes: { sourceType?: string; sourceData?: string; filename?: string; @@ -1136,9 +1976,9 @@ export type FileCreate = { }; export type FilePatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'file'; + attributes: { accessGroupId?: number; fileType?: number; filename?: string; @@ -1148,40 +1988,44 @@ export type FilePatch = { }; export type FileResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - filename?: string; - size?: number; - isSecret?: boolean; - fileType?: number; - accessGroupId?: number; - lineCount?: number; + data: { + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: number; + accessGroupId: number; + lineCount: number; }; - }>; + }; relationships?: { - accessGroup?: { - links?: { - self?: string; - related?: string; + accessGroup: { + links: { + self: string; + related: string; }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'accessGroup'; attributes?: { accessGroupId?: number; groupName?: string; @@ -1190,29 +2034,33 @@ export type FileResponse = { }; export type FileSingleResponse = { - data?: Array<{ - id?: number; - type?: string; - attributes?: { - filename?: string; - size?: number; - isSecret?: boolean; - fileType?: number; - accessGroupId?: number; - lineCount?: number; + data: { + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: number; + accessGroupId: number; + lineCount: number; }; - }>; + }; relationships?: { - accessGroup?: { - links?: { - self?: string; - related?: string; + accessGroup: { + links: { + self: string; + related: string; }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'accessGroup'; attributes?: { accessGroupId?: number; groupName?: string; @@ -1221,95 +2069,220 @@ export type FileSingleResponse = { }; export type FilePostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: number; + accessGroupId: number; + lineCount: number; + }; + }; +}; + +export type FileListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: number; + accessGroupId: number; + lineCount: number; + }; + }>; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'accessGroup'; attributes?: { - filename?: string; - size?: number; - isSecret?: boolean; - fileType?: number; accessGroupId?: number; - lineCount?: number; + groupName?: string; }; }>; }; export type FileRelationAccessGroup = { - data?: { - type?: string; - id?: number; + data: { + type: 'accessGroup'; + id: number; }; }; export type FileRelationAccessGroupGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'accessGroup'; + id: number; }; }; export type RightGroupCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'rightGroup'; + attributes: { + name?: string; + permissions?: { + [key: string]: unknown; + }; + }; + }; +}; + +export type RightGroupPatch = { + data: { + type: 'rightGroup'; + attributes: { name?: string; permissions?: { [key: string]: unknown; }; }; - }; + }; +}; + +export type RightGroupResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: { + id: number; + type: 'rightGroup'; + attributes: { + name: string; + permissions: { + [key: string]: unknown; + }; + }; + }; + relationships?: { + userMembers: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'user'; + id: number; + }>; + }; + }; + included?: Array<{ + id?: number; + type?: 'userMembers'; + attributes?: { + userId?: number; + name?: string; + email?: string; + passwordHash?: string; + passwordSalt?: string; + isValid?: boolean; + isComputedPassword?: boolean; + lastLoginDate?: number; + registeredSince?: number; + sessionLifetime?: number; + globalPermissionGroupId?: number; + yubikey?: string; + otp1?: string; + otp2?: string; + otp3?: string; + otp4?: string; + }; + }>; }; -export type RightGroupPatch = { - data?: { - type?: string; - attributes?: { - name?: string; - permissions?: { +export type RightGroupPostPatchResponse = { + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'rightGroup'; + attributes: { + name: string; + permissions: { [key: string]: unknown; }; }; }; }; -export type RightGroupResponse = { - jsonapi?: { - version?: string; +export type RightGroupListResponse = { + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - name?: string; - permissions?: { + data: Array<{ + id: number; + type: 'rightGroup'; + attributes: { + name: string; + permissions: { [key: string]: unknown; }; }; }>; relationships?: { - userMembers?: { - links?: { - self?: string; - related?: string; + userMembers: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'user'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'userMembers'; attributes?: { userId?: number; name?: string; @@ -1331,80 +2304,145 @@ export type RightGroupResponse = { }>; }; -export type RightGroupPostPatchResponse = { - jsonapi?: { - version?: string; - ext?: string; - }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - name?: string; - permissions?: { - [key: string]: unknown; - }; - }; - }>; -}; - export type RightGroupRelationUserMembers = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'userMembers'; + id: number; }>; }; export type RightGroupRelationUserMembersGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'userMembers'; + id: number; }>; }; export type HashResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ + data: { + id: number; + type: 'hash'; + attributes: { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; + }; + }; + relationships?: { + chunk: { + links: { + self: string; + related: string; + }; + data?: { + type: 'chunk'; + id: number; + } | null; + }; + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'hashlist'; attributes?: { + hashlistSeperator?: string; + sourceType?: string; + sourceData?: string; hashlistId?: number; - hash?: string; - salt?: string; - plaintext?: string; - timeCracked?: number; - chunkId?: number; - isCracked?: boolean; - crackPos?: number; + name?: string; + format?: 0 | 1 | 2 | 3; + hashTypeId?: number; + hashCount?: number; + separator?: string; + cracked?: number; + isSecret?: boolean; + isHexSalt?: boolean; + isSalted?: boolean; + accessGroupId?: number; + notes?: string; + useBrain?: boolean; + brainFeatures?: number; + isArchived?: boolean; + }; + }>; +}; + +export type HashListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'hash'; + attributes: { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; }; }>; relationships?: { - chunk?: { - links?: { - self?: string; - related?: string; + chunk: { + links: { + self: string; + related: string; }; + data?: { + type: 'chunk'; + id: number; + } | null; }; - hashlist?: { - links?: { - self?: string; - related?: string; + hashlist: { + links: { + self: string; + related: string; }; + data?: { + type: 'hashlist'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'hashlist'; attributes?: { hashlistSeperator?: string; sourceType?: string; @@ -1429,23 +2467,23 @@ export type HashResponse = { }; export type HashRelationHashlist = { - data?: { - type?: string; - id?: number; + data: { + type: 'hashlist'; + id: number; }; }; export type HashRelationHashlistGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'hashlist'; + id: number; }; }; export type HashlistCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'hashlist'; + attributes: { hashlistSeperator?: string; sourceType?: string; sourceData?: string; @@ -1467,9 +2505,9 @@ export type HashlistCreate = { }; export type HashlistPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'hashlist'; + attributes: { accessGroupId?: number; isArchived?: boolean; isSecret?: boolean; @@ -1480,72 +2518,92 @@ export type HashlistPatch = { }; export type HashlistResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - name?: string; - format?: 0 | 1 | 2 | 3; - hashTypeId?: number; - hashCount?: number; - separator?: string; - cracked?: number; - isSecret?: boolean; - isHexSalt?: boolean; - isSalted?: boolean; - accessGroupId?: number; - notes?: string; - useBrain?: boolean; - brainFeatures?: number; - isArchived?: boolean; + data: { + id: number; + type: 'hashlist'; + attributes: { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; }; - }>; + }; relationships?: { - accessGroup?: { - links?: { - self?: string; - related?: string; + accessGroup: { + links: { + self: string; + related: string; }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; - hashType?: { - links?: { - self?: string; - related?: string; + hashType: { + links: { + self: string; + related: string; }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - hashes?: { - links?: { - self?: string; - related?: string; + hashes: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'hash'; + id: number; + }>; }; - hashlists?: { - links?: { - self?: string; - related?: string; + hashlists: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'hashlist'; + id: number; + }>; }; - tasks?: { - links?: { - self?: string; - related?: string; + tasks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { hashlistId?: number; files?: Array; @@ -1578,61 +2636,81 @@ export type HashlistResponse = { }; export type HashlistSingleResponse = { - data?: Array<{ - id?: number; - type?: string; - attributes?: { - name?: string; - format?: 0 | 1 | 2 | 3; - hashTypeId?: number; - hashCount?: number; - separator?: string; - cracked?: number; - isSecret?: boolean; - isHexSalt?: boolean; - isSalted?: boolean; - accessGroupId?: number; - notes?: string; - useBrain?: boolean; - brainFeatures?: number; - isArchived?: boolean; + data: { + id: number; + type: 'hashlist'; + attributes: { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; }; - }>; + }; relationships?: { - accessGroup?: { - links?: { - self?: string; - related?: string; + accessGroup: { + links: { + self: string; + related: string; }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; - hashType?: { - links?: { - self?: string; - related?: string; + hashType: { + links: { + self: string; + related: string; }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - hashes?: { - links?: { - self?: string; - related?: string; + hashes: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'hash'; + id: number; + }>; }; - hashlists?: { - links?: { - self?: string; - related?: string; + hashlists: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'hashlist'; + id: number; + }>; }; - tasks?: { - links?: { - self?: string; - related?: string; + tasks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { hashlistId?: number; files?: Array; @@ -1665,50 +2743,168 @@ export type HashlistSingleResponse = { }; export type HashlistPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'hashlist'; + attributes: { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + }; +}; + +export type HashlistListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'hashlist'; + attributes: { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + }>; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; + id: number; + } | null; + }; + hashType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashType'; + id: number; + } | null; + }; + hashes: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'hash'; + id: number; + }>; + }; + hashlists: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'hashlist'; + id: number; + }>; + }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { - name?: string; - format?: 0 | 1 | 2 | 3; - hashTypeId?: number; - hashCount?: number; - separator?: string; - cracked?: number; - isSecret?: boolean; - isHexSalt?: boolean; - isSalted?: boolean; - accessGroupId?: number; - notes?: string; - useBrain?: boolean; - brainFeatures?: number; + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; }; }>; }; export type HashlistRelationTasks = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'tasks'; + id: number; }>; }; export type HashlistRelationTasksGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'tasks'; + id: number; }>; }; export type HashTypeCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'hashType'; + attributes: { hashTypeId?: number; description?: string; isSalted?: boolean; @@ -1718,9 +2914,9 @@ export type HashTypeCreate = { }; export type HashTypePatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'hashType'; + attributes: { description?: string; isSalted?: boolean; isSlowHash?: boolean; @@ -1729,24 +2925,69 @@ export type HashTypePatch = { }; export type HashTypeResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - description?: string; - isSalted?: boolean; - isSlowHash?: boolean; + data: { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + }; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; +}; + +export type HashTypePostPatchResponse = { + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + }; +}; + +export type HashTypeListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; }; }>; relationships?: { @@ -1757,65 +2998,121 @@ export type HashTypeResponse = { }>; }; -export type HashTypePostPatchResponse = { - jsonapi?: { - version?: string; +export type HealthCheckAgentResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: { + id: number; + type: 'healthCheckAgent'; + attributes: { + healthCheckId: number; + agentId: number; + status: number; + cracked: number; + numGpus: number; + start: number; + end: number; + errors: string; + }; + }; + relationships?: { + agent: { + links: { + self: string; + related: string; + }; + data?: { + type: 'agent'; + id: number; + } | null; + }; + healthCheck: { + links: { + self: string; + related: string; + }; + data?: { + type: 'healthCheck'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'healthCheck'; attributes?: { - description?: string; - isSalted?: boolean; - isSlowHash?: boolean; + healthCheckId?: number; + time?: number; + status?: number; + checkType?: number; + hashtypeId?: number; + crackerBinaryId?: number; + expectedCracks?: number; + attackCmd?: string; }; }>; }; -export type HealthCheckAgentResponse = { - jsonapi?: { - version?: string; +export type HealthCheckAgentListResponse = { + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - healthCheckId?: number; - agentId?: number; - status?: number; - cracked?: number; - numGpus?: number; - start?: number; - end?: number; - errors?: string; + data: Array<{ + id: number; + type: 'healthCheckAgent'; + attributes: { + healthCheckId: number; + agentId: number; + status: number; + cracked: number; + numGpus: number; + start: number; + end: number; + errors: string; }; }>; relationships?: { - agent?: { - links?: { - self?: string; - related?: string; + agent: { + links: { + self: string; + related: string; }; + data?: { + type: 'agent'; + id: number; + } | null; }; - healthCheck?: { - links?: { - self?: string; - related?: string; + healthCheck: { + links: { + self: string; + related: string; }; + data?: { + type: 'healthCheck'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'healthCheck'; attributes?: { healthCheckId?: number; time?: number; @@ -1830,23 +3127,23 @@ export type HealthCheckAgentResponse = { }; export type HealthCheckAgentRelationHealthCheck = { - data?: { - type?: string; - id?: number; + data: { + type: 'healthCheck'; + id: number; }; }; export type HealthCheckAgentRelationHealthCheckGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'healthCheck'; + id: number; }; }; export type HealthCheckCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'healthCheck'; + attributes: { checkType?: number; hashtypeId?: number; crackerBinaryId?: number; @@ -1855,62 +3152,74 @@ export type HealthCheckCreate = { }; export type HealthCheckPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'healthCheck'; + attributes: { checkType?: number; }; }; }; export type HealthCheckResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - time?: number; - status?: number; - checkType?: number; - hashtypeId?: number; - crackerBinaryId?: number; - expectedCracks?: number; - attackCmd?: string; + data: { + id: number; + type: 'healthCheck'; + attributes: { + time: number; + status: number; + checkType: number; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; }; - }>; + }; relationships?: { - crackerBinary?: { - links?: { - self?: string; - related?: string; + crackerBinary: { + links: { + self: string; + related: string; }; + data?: { + type: 'crackerBinary'; + id: number; + } | null; }; - hashType?: { - links?: { - self?: string; - related?: string; + hashType: { + links: { + self: string; + related: string; }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - healthCheckAgents?: { - links?: { - self?: string; - related?: string; + healthCheckAgents: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'healthCheckAgent'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'healthCheckAgents'; attributes?: { healthCheckAgentId?: number; healthCheckId?: number; @@ -1926,80 +3235,154 @@ export type HealthCheckResponse = { }; export type HealthCheckPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'healthCheck'; + attributes: { + time: number; + status: number; + checkType: number; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; + }; + }; +}; + +export type HealthCheckListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'healthCheck'; + attributes: { + time: number; + status: number; + checkType: number; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; + }; + }>; + relationships?: { + crackerBinary: { + links: { + self: string; + related: string; + }; + data?: { + type: 'crackerBinary'; + id: number; + } | null; + }; + hashType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashType'; + id: number; + } | null; + }; + healthCheckAgents: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'healthCheckAgent'; + id: number; + }>; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'healthCheckAgents'; attributes?: { - time?: number; + healthCheckAgentId?: number; + healthCheckId?: number; + agentId?: number; status?: number; - checkType?: number; - hashtypeId?: number; - crackerBinaryId?: number; - expectedCracks?: number; - attackCmd?: string; + cracked?: number; + numGpus?: number; + start?: number; + end?: number; + errors?: string; }; }>; }; export type HealthCheckRelationHealthCheckAgents = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'healthCheckAgents'; + id: number; }>; }; export type HealthCheckRelationHealthCheckAgentsGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'healthCheckAgents'; + id: number; }>; }; export type LogEntryCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'logEntry'; + attributes: { [key: string]: unknown; }; }; }; export type LogEntryPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'logEntry'; + attributes: { [key: string]: unknown; }; }; }; export type LogEntryResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - issuer?: string; - issuerId?: string; - level?: string; - message?: string; - time?: number; + data: { + id: number; + type: 'logEntry'; + attributes: { + issuer: string; + issuerId: string; + level: string; + message: string; + time: number; }; - }>; + }; relationships?: { [key: string]: unknown; }; @@ -2009,27 +3392,58 @@ export type LogEntryResponse = { }; export type LogEntryPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - issuer?: string; - issuerId?: string; - level?: string; - message?: string; - time?: number; + data: { + id: number; + type: 'logEntry'; + attributes: { + issuer: string; + issuerId: string; + level: string; + message: string; + time: number; + }; + }; +}; + +export type LogEntryListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'logEntry'; + attributes: { + issuer: string; + issuerId: string; + level: string; + message: string; + time: number; }; }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; }; export type NotificationSettingCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'notificationSetting'; + attributes: { actionFilter?: string; action?: string; notification?: string; @@ -2039,9 +3453,9 @@ export type NotificationSettingCreate = { }; export type NotificationSettingPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'notificationSetting'; + attributes: { action?: string; isActive?: boolean; notification?: string; @@ -2051,40 +3465,44 @@ export type NotificationSettingPatch = { }; export type NotificationSettingResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - action?: string; - objectId?: number; - notification?: string; - userId?: number; - receiver?: string; - isActive?: boolean; + data: { + id: number; + type: 'notificationSetting'; + attributes: { + action: string; + objectId: number; + notification: string; + userId: number; + receiver: string; + isActive: boolean; }; - }>; + }; relationships?: { - user?: { - links?: { - self?: string; - related?: string; + user: { + links: { + self: string; + related: string; }; + data?: { + type: 'user'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'user'; attributes?: { userId?: number; name?: string; @@ -2107,42 +3525,102 @@ export type NotificationSettingResponse = { }; export type NotificationSettingPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'notificationSetting'; + attributes: { + action: string; + objectId: number; + notification: string; + userId: number; + receiver: string; + isActive: boolean; + }; + }; +}; + +export type NotificationSettingListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'notificationSetting'; + attributes: { + action: string; + objectId: number; + notification: string; + userId: number; + receiver: string; + isActive: boolean; + }; + }>; + relationships?: { + user: { + links: { + self: string; + related: string; + }; + data?: { + type: 'user'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'user'; attributes?: { - action?: string; - objectId?: number; - notification?: string; userId?: number; - receiver?: string; - isActive?: boolean; + name?: string; + email?: string; + passwordHash?: string; + passwordSalt?: string; + isValid?: boolean; + isComputedPassword?: boolean; + lastLoginDate?: number; + registeredSince?: number; + sessionLifetime?: number; + globalPermissionGroupId?: number; + yubikey?: string; + otp1?: string; + otp2?: string; + otp3?: string; + otp4?: string; }; }>; }; export type NotificationSettingRelationUser = { - data?: { - type?: string; - id?: number; + data: { + type: 'user'; + id: number; }; }; export type NotificationSettingRelationUserGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'user'; + id: number; }; }; export type PreprocessorCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'preprocessor'; + attributes: { name?: string; url?: string; binaryName?: string; @@ -2154,9 +3632,9 @@ export type PreprocessorCreate = { }; export type PreprocessorPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'preprocessor'; + attributes: { binaryName?: string; keyspaceCommand?: string; limitCommand?: string; @@ -2168,29 +3646,29 @@ export type PreprocessorPatch = { }; export type PreprocessorResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - name?: string; - url?: string; - binaryName?: string; - keyspaceCommand?: string; - skipCommand?: string; - limitCommand?: string; + data: { + id: number; + type: 'preprocessor'; + attributes: { + name: string; + url: string; + binaryName: string; + keyspaceCommand: string; + skipCommand: string; + limitCommand: string; }; - }>; + }; relationships?: { [key: string]: unknown; }; @@ -2200,28 +3678,60 @@ export type PreprocessorResponse = { }; export type PreprocessorPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - name?: string; - url?: string; - binaryName?: string; - keyspaceCommand?: string; - skipCommand?: string; - limitCommand?: string; + data: { + id: number; + type: 'preprocessor'; + attributes: { + name: string; + url: string; + binaryName: string; + keyspaceCommand: string; + skipCommand: string; + limitCommand: string; }; + }; +}; + +export type PreprocessorListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'preprocessor'; + attributes: { + name: string; + url: string; + binaryName: string; + keyspaceCommand: string; + skipCommand: string; + limitCommand: string; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; }>; }; export type PretaskCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'pretask'; + attributes: { files?: Array; taskName?: string; attackCmd?: string; @@ -2240,9 +3750,9 @@ export type PretaskCreate = { }; export type PretaskPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'pretask'; + attributes: { attackCmd?: string; chunkTime?: number; color?: string; @@ -2259,46 +3769,51 @@ export type PretaskPatch = { }; export type PretaskResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - priority?: number; - maxAgents?: number; - isMaskImport?: boolean; - crackerBinaryTypeId?: number; + data: { + id: number; + type: 'pretask'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + auxiliaryKeyspace?: number; }; - }>; + }; relationships?: { - pretaskFiles?: { - links?: { - self?: string; - related?: string; + pretaskFiles: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'file'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'pretaskFiles'; attributes?: { sourceType?: string; sourceData?: string; @@ -2314,83 +3829,230 @@ export type PretaskResponse = { }; export type PretaskPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'pretask'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + auxiliaryKeyspace?: number; + }; + }; +}; + +export type PretaskListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'pretask'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + auxiliaryKeyspace?: number; + }; + }>; + relationships?: { + pretaskFiles: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'file'; + id: number; + }>; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'pretaskFiles'; attributes?: { - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - priority?: number; - maxAgents?: number; - isMaskImport?: boolean; - crackerBinaryTypeId?: number; + sourceType?: string; + sourceData?: string; + fileId?: number; + filename?: string; + size?: number; + isSecret?: boolean; + fileType?: number; + accessGroupId?: number; + lineCount?: number; }; }>; }; export type PretaskRelationPretaskFiles = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'pretaskFiles'; + id: number; }>; }; export type PretaskRelationPretaskFilesGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'pretaskFiles'; + id: number; }>; }; export type SpeedResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ + data: { + id: number; + type: 'speed'; + attributes: { + agentId: number; + taskId: number; + speed: number; + time: number; + }; + }; + relationships?: { + agent: { + links: { + self: string; + related: string; + }; + data?: { + type: 'agent'; + id: number; + } | null; + }; + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'task'; attributes?: { - agentId?: number; + hashlistId?: number; + files?: Array; taskId?: number; - speed?: number; - time?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; + priority?: number; + maxAgents?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; + isArchived?: boolean; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; + }; + }>; +}; + +export type SpeedListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'speed'; + attributes: { + agentId: number; + taskId: number; + speed: number; + time: number; }; }>; relationships?: { - agent?: { - links?: { - self?: string; - related?: string; + agent: { + links: { + self: string; + related: string; }; + data?: { + type: 'agent'; + id: number; + } | null; }; - task?: { - links?: { - self?: string; - related?: string; + task: { + links: { + self: string; + related: string; }; + data?: { + type: 'task'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'task'; attributes?: { hashlistId?: number; files?: Array; @@ -2423,23 +4085,23 @@ export type SpeedResponse = { }; export type SpeedRelationTask = { - data?: { - type?: string; - id?: number; + data: { + type: 'task'; + id: number; }; }; export type SpeedRelationTaskGetResponse = { - data?: { - type?: string; - id?: number; + data: { + type: 'task'; + id: number; }; }; export type SupertaskCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'supertask'; + attributes: { pretasks?: Array; supertaskName?: string; }; @@ -2447,44 +4109,48 @@ export type SupertaskCreate = { }; export type SupertaskPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'supertask'; + attributes: { supertaskName?: string; }; }; }; export type SupertaskResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - supertaskName?: string; + data: { + id: number; + type: 'supertask'; + attributes: { + supertaskName: string; }; - }>; + }; relationships?: { - pretasks?: { - links?: { - self?: string; - related?: string; + pretasks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'preTask'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'pretasks'; attributes?: { files?: Array; pretaskId?: number; @@ -2505,24 +4171,28 @@ export type SupertaskResponse = { }; export type SupertaskSingleResponse = { - data?: Array<{ - id?: number; - type?: string; - attributes?: { - supertaskName?: string; + data: { + id: number; + type: 'supertask'; + attributes: { + supertaskName: string; }; - }>; + }; relationships?: { - pretasks?: { - links?: { - self?: string; - related?: string; + pretasks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'preTask'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'pretasks'; attributes?: { files?: Array; pretaskId?: number; @@ -2543,37 +4213,90 @@ export type SupertaskSingleResponse = { }; export type SupertaskPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'supertask'; + attributes: { + supertaskName: string; + }; + }; +}; + +export type SupertaskListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'supertask'; + attributes: { + supertaskName: string; + }; + }>; + relationships?: { + pretasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'preTask'; + id: number; + }>; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'pretasks'; attributes?: { - supertaskName?: string; + files?: Array; + pretaskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + priority?: number; + maxAgents?: number; + isMaskImport?: boolean; + crackerBinaryTypeId?: number; }; }>; }; export type SupertaskRelationPretasks = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'pretasks'; + id: number; }>; }; export type SupertaskRelationPretasksGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'pretasks'; + id: number; }>; }; export type TaskCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'task'; + attributes: { hashlistId?: number; files?: Array; taskName?: string; @@ -2601,9 +4324,9 @@ export type TaskCreate = { }; export type TaskPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'task'; + attributes: { attackCmd?: string; chunkTime?: number; color?: string; @@ -2620,87 +4343,287 @@ export type TaskPatch = { }; export type TaskResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ + data: { + id: number; + type: 'task'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + activeAgents?: number; + dispatched?: string; + searched?: string; + status?: 0 | 1 | 2 | 3; + estimatedTime?: number; + timeSpent?: number; + currentSpeed?: number; + cprogress?: number; + }; + }; + relationships?: { + assignedAgents: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agent'; + id: number; + }>; + }; + crackerBinary: { + links: { + self: string; + related: string; + }; + data?: { + type: 'crackerBinary'; + id: number; + } | null; + }; + crackerBinaryType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'crackerBinaryType'; + id: number; + } | null; + }; + files: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'file'; + id: number; + }>; + }; + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; + id: number; + } | null; + }; + speeds: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'speed'; + id: number; + }>; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'speeds'; attributes?: { - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + speedId?: number; + agentId?: number; + taskId?: number; + speed?: number; + time?: number; + }; + }>; +}; + +export type TaskPostPatchResponse = { + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'task'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + activeAgents?: number; + dispatched?: string; + searched?: string; + status?: 0 | 1 | 2 | 3; + estimatedTime?: number; + timeSpent?: number; + currentSpeed?: number; + cprogress?: number; + }; + }; +}; + +export type TaskListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'task'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + activeAgents?: number; + dispatched?: string; + searched?: string; + status?: 0 | 1 | 2 | 3; + estimatedTime?: number; + timeSpent?: number; + currentSpeed?: number; + cprogress?: number; }; }>; relationships?: { - assignedAgents?: { - links?: { - self?: string; - related?: string; + assignedAgents: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'agent'; + id: number; + }>; }; - crackerBinary?: { - links?: { - self?: string; - related?: string; + crackerBinary: { + links: { + self: string; + related: string; }; + data?: { + type: 'crackerBinary'; + id: number; + } | null; }; - crackerBinaryType?: { - links?: { - self?: string; - related?: string; + crackerBinaryType: { + links: { + self: string; + related: string; }; + data?: { + type: 'crackerBinaryType'; + id: number; + } | null; }; - files?: { - links?: { - self?: string; - related?: string; + files: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'file'; + id: number; + }>; }; - hashlist?: { - links?: { - self?: string; - related?: string; + hashlist: { + links: { + self: string; + related: string; }; + data?: { + type: 'hashlist'; + id: number; + } | null; }; - speeds?: { - links?: { - self?: string; - related?: string; + speeds: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'speed'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'speeds'; attributes?: { speedId?: number; agentId?: number; @@ -2711,60 +4634,24 @@ export type TaskResponse = { }>; }; -export type TaskPostPatchResponse = { - jsonapi?: { - version?: string; - ext?: string; - }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; - }; - }>; -}; - export type TaskRelationSpeeds = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'speeds'; + id: number; }>; }; export type TaskRelationSpeedsGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'speeds'; + id: number; }>; }; export type TaskWrapperPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'taskWrapper'; + attributes: { accessGroupId?: number; isArchived?: boolean; maxAgents?: number; @@ -2775,66 +4662,86 @@ export type TaskWrapperPatch = { }; export type TaskWrapperResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - priority?: number; - maxAgents?: number; - taskType?: 0 | 1; - hashlistId?: number; - accessGroupId?: number; - taskWrapperName?: string; - isArchived?: boolean; - cracked?: number; + data: { + id: number; + type: 'taskWrapper'; + attributes: { + priority: number; + maxAgents: number; + taskType: 0 | 1; + hashlistId: number; + accessGroupId: number; + taskWrapperName: string; + isArchived: boolean; + cracked: number; }; - }>; + }; relationships?: { - accessGroup?: { - links?: { - self?: string; - related?: string; + accessGroup: { + links: { + self: string; + related: string; }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; - hashType?: { - links?: { - self?: string; - related?: string; + hashType: { + links: { + self: string; + related: string; }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - hashlist?: { - links?: { - self?: string; - related?: string; + hashlist: { + links: { + self: string; + related: string; }; + data?: { + type: 'hashlist'; + id: number; + } | null; }; - task?: { - links?: { - self?: string; - related?: string; + task: { + links: { + self: string; + related: string; }; + data?: { + type: 'task'; + id: number; + } | null; }; - tasks?: { - links?: { - self?: string; - related?: string; + tasks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { hashlistId?: number; files?: Array; @@ -2867,55 +4774,75 @@ export type TaskWrapperResponse = { }; export type TaskWrapperSingleResponse = { - data?: Array<{ - id?: number; - type?: string; - attributes?: { - priority?: number; - maxAgents?: number; - taskType?: 0 | 1; - hashlistId?: number; - accessGroupId?: number; - taskWrapperName?: string; - isArchived?: boolean; - cracked?: number; + data: { + id: number; + type: 'taskWrapper'; + attributes: { + priority: number; + maxAgents: number; + taskType: 0 | 1; + hashlistId: number; + accessGroupId: number; + taskWrapperName: string; + isArchived: boolean; + cracked: number; }; - }>; + }; relationships?: { - accessGroup?: { - links?: { - self?: string; - related?: string; + accessGroup: { + links: { + self: string; + related: string; }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; - hashType?: { - links?: { - self?: string; - related?: string; + hashType: { + links: { + self: string; + related: string; }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - hashlist?: { - links?: { - self?: string; - related?: string; + hashlist: { + links: { + self: string; + related: string; }; + data?: { + type: 'hashlist'; + id: number; + } | null; }; - task?: { - links?: { - self?: string; - related?: string; + task: { + links: { + self: string; + related: string; }; + data?: { + type: 'task'; + id: number; + } | null; }; - tasks?: { - links?: { - self?: string; - related?: string; + tasks: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { hashlistId?: number; files?: Array; @@ -2948,44 +4875,156 @@ export type TaskWrapperSingleResponse = { }; export type TaskWrapperPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'taskWrapper'; + attributes: { + priority: number; + maxAgents: number; + taskType: 0 | 1; + hashlistId: number; + accessGroupId: number; + taskWrapperName: string; + isArchived: boolean; + cracked: number; + }; + }; +}; + +export type TaskWrapperListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'taskWrapper'; + attributes: { + priority: number; + maxAgents: number; + taskType: 0 | 1; + hashlistId: number; + accessGroupId: number; + taskWrapperName: string; + isArchived: boolean; + cracked: number; + }; + }>; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; + id: number; + } | null; + }; + hashType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashType'; + id: number; + } | null; + }; + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; + id: number; + } | null; + }; + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; + }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'tasks'; attributes?: { + hashlistId?: number; + files?: Array; + taskId?: number; + taskName?: string; + attackCmd?: string; + chunkTime?: number; + statusTimer?: number; + keyspace?: number; + keyspaceProgress?: number; priority?: number; maxAgents?: number; - taskType?: 0 | 1; - hashlistId?: number; - accessGroupId?: number; - taskWrapperName?: string; + color?: string; + isSmall?: boolean; + isCpuTask?: boolean; + useNewBench?: boolean; + skipKeyspace?: number; + crackerBinaryId?: number; + crackerBinaryTypeId?: number; + taskWrapperId?: number; isArchived?: boolean; - cracked?: number; + notes?: string; + staticChunks?: number; + chunkSize?: number; + forcePipe?: boolean; + preprocessorId?: number; + preprocessorCommand?: string; }; }>; }; export type TaskWrapperRelationTasks = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'tasks'; + id: number; }>; }; export type TaskWrapperRelationTasksGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'tasks'; + id: number; }>; }; export type UserCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'user'; + attributes: { name?: string; email?: string; globalPermissionGroupId?: number; @@ -2994,9 +5033,9 @@ export type UserCreate = { }; export type UserPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'user'; + attributes: { email?: string; globalPermissionGroupId?: number; isValid?: boolean; @@ -3006,55 +5045,61 @@ export type UserPatch = { }; export type UserResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - name?: string; - email?: string; - passwordHash?: string; - passwordSalt?: string; - isValid?: boolean; - isComputedPassword?: boolean; - lastLoginDate?: number; - registeredSince?: number; - sessionLifetime?: number; - globalPermissionGroupId?: number; - yubikey?: string; - otp1?: string; - otp2?: string; - otp3?: string; - otp4?: string; + data: { + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; }; - }>; + }; relationships?: { - accessGroups?: { - links?: { - self?: string; - related?: string; + accessGroups: { + links: { + self: string; + related: string; }; + data?: Array<{ + type: 'accessGroup'; + id: number; + }>; }; - globalPermissionGroup?: { - links?: { - self?: string; - related?: string; + globalPermissionGroup: { + links: { + self: string; + related: string; }; + data?: { + type: 'globalPermissionGroup'; + id: number; + } | null; }; }; included?: Array<{ id?: number; - type?: string; + type?: 'accessGroups'; attributes?: { accessGroupId?: number; groupName?: string; @@ -3063,85 +5108,146 @@ export type UserResponse = { }; export type UserPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; + ext?: string; + }; + data: { + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }; +}; + +export type UserListResponse = { + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }>; + relationships?: { + accessGroups: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'accessGroup'; + id: number; + }>; + }; + globalPermissionGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'globalPermissionGroup'; + id: number; + } | null; + }; + }; + included?: Array<{ id?: number; - type?: string; + type?: 'accessGroups'; attributes?: { - name?: string; - email?: string; - passwordHash?: string; - passwordSalt?: string; - isValid?: boolean; - isComputedPassword?: boolean; - lastLoginDate?: number; - registeredSince?: number; - sessionLifetime?: number; - globalPermissionGroupId?: number; - yubikey?: string; - otp1?: string; - otp2?: string; - otp3?: string; - otp4?: string; + accessGroupId?: number; + groupName?: string; }; }>; }; export type UserRelationAccessGroups = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'accessGroups'; + id: number; }>; }; export type UserRelationAccessGroupsGetResponse = { - data?: Array<{ - type?: string; - id?: number; + data: Array<{ + type: 'accessGroups'; + id: number; }>; }; export type RegVoucherCreate = { - data?: { - type?: string; - attributes?: { + data: { + type: 'regVoucher'; + attributes: { voucher?: string; }; }; }; export type RegVoucherPatch = { - data?: { - type?: string; - attributes?: { + data: { + type: 'regVoucher'; + attributes: { voucher?: string; }; }; }; export type RegVoucherResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; links?: { - self?: string; + self: string; first?: string; last?: string; next?: string; previous?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - voucher?: string; - time?: number; + data: { + id: number; + type: 'regVoucher'; + attributes: { + voucher: string; + time: number; }; - }>; + }; relationships?: { [key: string]: unknown; }; @@ -3151,18 +5257,46 @@ export type RegVoucherResponse = { }; export type RegVoucherPostPatchResponse = { - jsonapi?: { - version?: string; + jsonapi: { + version: string; ext?: string; }; - data?: Array<{ - id?: number; - type?: string; - attributes?: { - voucher?: string; - time?: number; + data: { + id: number; + type: 'regVoucher'; + attributes: { + voucher: string; + time: number; + }; + }; +}; + +export type RegVoucherListResponse = { + jsonapi: { + version: string; + ext?: string; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string; + previous?: string; + }; + data: Array<{ + id: number; + type: 'regVoucher'; + attributes: { + voucher: string; + time: number; }; }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array<{ + [key: string]: unknown; + }>; }; export type AbortChunkHelperApi = { @@ -3338,8 +5472,8 @@ export type UnassignAgentHelperApiResponse = Array<{ }>; export type Token = { - token?: string; - expires?: number; + token: string; + expires: number; }; export type TokenRequest = Array; @@ -3418,7 +5552,7 @@ export type GetAccessgroupsResponses = { /** * successful operation */ - 200: Array; + 200: AccessGroupListResponse; }; export type GetAccessgroupsResponse = GetAccessgroupsResponses[keyof GetAccessgroupsResponses]; @@ -3526,7 +5660,7 @@ export type GetAccessgroupsCountResponses = { /** * successful operation */ - 200: Array; + 200: AccessGroupListResponse; }; export type GetAccessgroupsCountResponse = GetAccessgroupsCountResponses[keyof GetAccessgroupsCountResponses]; @@ -3899,7 +6033,7 @@ export type GetAgentsResponses = { /** * successful operation */ - 200: Array; + 200: AgentListResponse; }; export type GetAgentsResponse = GetAgentsResponses[keyof GetAgentsResponses]; @@ -3978,7 +6112,7 @@ export type GetAgentsCountResponses = { /** * successful operation */ - 200: Array; + 200: AgentListResponse; }; export type GetAgentsCountResponse = GetAgentsCountResponses[keyof GetAgentsCountResponses]; @@ -4351,7 +6485,7 @@ export type GetAgentassignmentsResponses = { /** * successful operation */ - 200: Array; + 200: AssignmentListResponse; }; export type GetAgentassignmentsResponse = GetAgentassignmentsResponses[keyof GetAgentassignmentsResponses]; @@ -4459,7 +6593,7 @@ export type GetAgentassignmentsCountResponses = { /** * successful operation */ - 200: Array; + 200: AssignmentListResponse; }; export type GetAgentassignmentsCountResponse = GetAgentassignmentsCountResponses[keyof GetAgentassignmentsCountResponses]; @@ -4758,7 +6892,7 @@ export type GetAgentbinariesResponses = { /** * successful operation */ - 200: Array; + 200: AgentBinaryListResponse; }; export type GetAgentbinariesResponse = GetAgentbinariesResponses[keyof GetAgentbinariesResponses]; @@ -4866,7 +7000,7 @@ export type GetAgentbinariesCountResponses = { /** * successful operation */ - 200: Array; + 200: AgentBinaryListResponse; }; export type GetAgentbinariesCountResponse = GetAgentbinariesCountResponses[keyof GetAgentbinariesCountResponses]; @@ -5057,7 +7191,7 @@ export type GetAgenterrorsResponses = { /** * successful operation */ - 200: Array; + 200: AgentErrorListResponse; }; export type GetAgenterrorsResponse = GetAgenterrorsResponses[keyof GetAgenterrorsResponses]; @@ -5109,7 +7243,7 @@ export type GetAgenterrorsCountResponses = { /** * successful operation */ - 200: Array; + 200: AgentErrorListResponse; }; export type GetAgenterrorsCountResponse = GetAgenterrorsCountResponses[keyof GetAgenterrorsCountResponses]; @@ -5373,7 +7507,7 @@ export type GetAgentstatsResponses = { /** * successful operation */ - 200: Array; + 200: AgentStatListResponse; }; export type GetAgentstatsResponse = GetAgentstatsResponses[keyof GetAgentstatsResponses]; @@ -5425,7 +7559,7 @@ export type GetAgentstatsCountResponses = { /** * successful operation */ - 200: Array; + 200: AgentStatListResponse; }; export type GetAgentstatsCountResponse = GetAgentstatsCountResponses[keyof GetAgentstatsCountResponses]; @@ -5581,7 +7715,7 @@ export type GetApiTokensResponses = { /** * successful operation */ - 200: Array; + 200: JwtApiKeyListResponse; }; export type GetApiTokensResponse = GetApiTokensResponses[keyof GetApiTokensResponses]; @@ -5689,7 +7823,7 @@ export type GetApiTokensCountResponses = { /** * successful operation */ - 200: Array; + 200: JwtApiKeyListResponse; }; export type GetApiTokensCountResponse = GetApiTokensCountResponses[keyof GetApiTokensCountResponses]; @@ -5961,7 +8095,7 @@ export type GetChunksResponses = { /** * successful operation */ - 200: Array; + 200: ChunkListResponse; }; export type GetChunksResponse = GetChunksResponses[keyof GetChunksResponses]; @@ -6013,7 +8147,7 @@ export type GetChunksCountResponses = { /** * successful operation */ - 200: Array; + 200: ChunkListResponse; }; export type GetChunksCountResponse = GetChunksCountResponses[keyof GetChunksCountResponses]; @@ -6213,7 +8347,7 @@ export type GetConfigsResponses = { /** * successful operation */ - 200: Array; + 200: ConfigListResponse; }; export type GetConfigsResponse = GetConfigsResponses[keyof GetConfigsResponses]; @@ -6292,7 +8426,7 @@ export type GetConfigsCountResponses = { /** * successful operation */ - 200: Array; + 200: ConfigListResponse; }; export type GetConfigsCountResponse = GetConfigsCountResponses[keyof GetConfigsCountResponses]; @@ -6527,7 +8661,7 @@ export type GetConfigsectionsResponses = { /** * successful operation */ - 200: Array; + 200: ConfigSectionListResponse; }; export type GetConfigsectionsResponse = GetConfigsectionsResponses[keyof GetConfigsectionsResponses]; @@ -6579,7 +8713,7 @@ export type GetConfigsectionsCountResponses = { /** * successful operation */ - 200: Array; + 200: ConfigSectionListResponse; }; export type GetConfigsectionsCountResponse = GetConfigsectionsCountResponses[keyof GetConfigsectionsCountResponses]; @@ -6698,7 +8832,7 @@ export type GetCrackersResponses = { /** * successful operation */ - 200: Array; + 200: CrackerBinaryListResponse; }; export type GetCrackersResponse = GetCrackersResponses[keyof GetCrackersResponses]; @@ -6806,7 +8940,7 @@ export type GetCrackersCountResponses = { /** * successful operation */ - 200: Array; + 200: CrackerBinaryListResponse; }; export type GetCrackersCountResponse = GetCrackersCountResponses[keyof GetCrackersCountResponses]; @@ -7179,7 +9313,7 @@ export type GetCrackertypesResponses = { /** * successful operation */ - 200: Array; + 200: CrackerBinaryTypeListResponse; }; export type GetCrackertypesResponse = GetCrackertypesResponses[keyof GetCrackertypesResponses]; @@ -7287,7 +9421,7 @@ export type GetCrackertypesCountResponses = { /** * successful operation */ - 200: Array; + 200: CrackerBinaryTypeListResponse; }; export type GetCrackertypesCountResponse = GetCrackertypesCountResponses[keyof GetCrackertypesCountResponses]; @@ -7660,7 +9794,7 @@ export type GetFilesResponses = { /** * successful operation */ - 200: Array; + 200: FileListResponse; }; export type GetFilesResponse = GetFilesResponses[keyof GetFilesResponses]; @@ -7768,7 +9902,7 @@ export type GetFilesCountResponses = { /** * successful operation */ - 200: Array; + 200: FileListResponse; }; export type GetFilesCountResponse = GetFilesCountResponses[keyof GetFilesCountResponses]; @@ -8067,7 +10201,7 @@ export type GetGlobalpermissiongroupsResponses = { /** * successful operation */ - 200: Array; + 200: RightGroupListResponse; }; export type GetGlobalpermissiongroupsResponse = GetGlobalpermissiongroupsResponses[keyof GetGlobalpermissiongroupsResponses]; @@ -8175,7 +10309,7 @@ export type GetGlobalpermissiongroupsCountResponses = { /** * successful operation */ - 200: Array; + 200: RightGroupListResponse; }; export type GetGlobalpermissiongroupsCountResponse = GetGlobalpermissiongroupsCountResponses[keyof GetGlobalpermissiongroupsCountResponses]; @@ -8521,7 +10655,7 @@ export type GetHashesResponses = { /** * successful operation */ - 200: Array; + 200: HashListResponse; }; export type GetHashesResponse = GetHashesResponses[keyof GetHashesResponses]; @@ -8573,7 +10707,7 @@ export type GetHashesCountResponses = { /** * successful operation */ - 200: Array; + 200: HashListResponse; }; export type GetHashesCountResponse = GetHashesCountResponses[keyof GetHashesCountResponses]; @@ -8800,7 +10934,7 @@ export type GetHashlistsResponses = { /** * successful operation */ - 200: Array; + 200: HashlistListResponse; }; export type GetHashlistsResponse = GetHashlistsResponses[keyof GetHashlistsResponses]; @@ -8908,7 +11042,7 @@ export type GetHashlistsCountResponses = { /** * successful operation */ - 200: Array; + 200: HashlistListResponse; }; export type GetHashlistsCountResponse = GetHashlistsCountResponses[keyof GetHashlistsCountResponses]; @@ -9281,7 +11415,7 @@ export type GetHashtypesResponses = { /** * successful operation */ - 200: Array; + 200: HashTypeListResponse; }; export type GetHashtypesResponse = GetHashtypesResponses[keyof GetHashtypesResponses]; @@ -9389,7 +11523,7 @@ export type GetHashtypesCountResponses = { /** * successful operation */ - 200: Array; + 200: HashTypeListResponse; }; export type GetHashtypesCountResponse = GetHashtypesCountResponses[keyof GetHashtypesCountResponses]; @@ -9553,7 +11687,7 @@ export type GetHealthcheckagentsResponses = { /** * successful operation */ - 200: Array; + 200: HealthCheckAgentListResponse; }; export type GetHealthcheckagentsResponse = GetHealthcheckagentsResponses[keyof GetHealthcheckagentsResponses]; @@ -9605,7 +11739,7 @@ export type GetHealthcheckagentsCountResponses = { /** * successful operation */ - 200: Array; + 200: HealthCheckAgentListResponse; }; export type GetHealthcheckagentsCountResponse = GetHealthcheckagentsCountResponses[keyof GetHealthcheckagentsCountResponses]; @@ -9832,7 +11966,7 @@ export type GetHealthchecksResponses = { /** * successful operation */ - 200: Array; + 200: HealthCheckListResponse; }; export type GetHealthchecksResponse = GetHealthchecksResponses[keyof GetHealthchecksResponses]; @@ -9940,7 +12074,7 @@ export type GetHealthchecksCountResponses = { /** * successful operation */ - 200: Array; + 200: HealthCheckListResponse; }; export type GetHealthchecksCountResponse = GetHealthchecksCountResponses[keyof GetHealthchecksCountResponses]; @@ -10313,7 +12447,7 @@ export type GetLogentriesResponses = { /** * successful operation */ - 200: Array; + 200: LogEntryListResponse; }; export type GetLogentriesResponse = GetLogentriesResponses[keyof GetLogentriesResponses]; @@ -10421,7 +12555,7 @@ export type GetLogentriesCountResponses = { /** * successful operation */ - 200: Array; + 200: LogEntryListResponse; }; export type GetLogentriesCountResponse = GetLogentriesCountResponses[keyof GetLogentriesCountResponses]; @@ -10612,7 +12746,7 @@ export type GetNotificationsResponses = { /** * successful operation */ - 200: Array; + 200: NotificationSettingListResponse; }; export type GetNotificationsResponse = GetNotificationsResponses[keyof GetNotificationsResponses]; @@ -10720,7 +12854,7 @@ export type GetNotificationsCountResponses = { /** * successful operation */ - 200: Array; + 200: NotificationSettingListResponse; }; export type GetNotificationsCountResponse = GetNotificationsCountResponses[keyof GetNotificationsCountResponses]; @@ -11019,7 +13153,7 @@ export type GetPreprocessorsResponses = { /** * successful operation */ - 200: Array; + 200: PreprocessorListResponse; }; export type GetPreprocessorsResponse = GetPreprocessorsResponses[keyof GetPreprocessorsResponses]; @@ -11127,7 +13261,7 @@ export type GetPreprocessorsCountResponses = { /** * successful operation */ - 200: Array; + 200: PreprocessorListResponse; }; export type GetPreprocessorsCountResponse = GetPreprocessorsCountResponses[keyof GetPreprocessorsCountResponses]; @@ -11318,7 +13452,7 @@ export type GetPretasksResponses = { /** * successful operation */ - 200: Array; + 200: PretaskListResponse; }; export type GetPretasksResponse = GetPretasksResponses[keyof GetPretasksResponses]; @@ -11426,7 +13560,7 @@ export type GetPretasksCountResponses = { /** * successful operation */ - 200: Array; + 200: PretaskListResponse; }; export type GetPretasksCountResponse = GetPretasksCountResponses[keyof GetPretasksCountResponses]; @@ -11772,7 +13906,7 @@ export type GetSpeedsResponses = { /** * successful operation */ - 200: Array; + 200: SpeedListResponse; }; export type GetSpeedsResponse = GetSpeedsResponses[keyof GetSpeedsResponses]; @@ -11824,7 +13958,7 @@ export type GetSpeedsCountResponses = { /** * successful operation */ - 200: Array; + 200: SpeedListResponse; }; export type GetSpeedsCountResponse = GetSpeedsCountResponses[keyof GetSpeedsCountResponses]; @@ -12051,7 +14185,7 @@ export type GetSupertasksResponses = { /** * successful operation */ - 200: Array; + 200: SupertaskListResponse; }; export type GetSupertasksResponse = GetSupertasksResponses[keyof GetSupertasksResponses]; @@ -12159,7 +14293,7 @@ export type GetSupertasksCountResponses = { /** * successful operation */ - 200: Array; + 200: SupertaskListResponse; }; export type GetSupertasksCountResponse = GetSupertasksCountResponses[keyof GetSupertasksCountResponses]; @@ -12532,7 +14666,7 @@ export type GetTasksResponses = { /** * successful operation */ - 200: Array; + 200: TaskListResponse; }; export type GetTasksResponse = GetTasksResponses[keyof GetTasksResponses]; @@ -12640,7 +14774,7 @@ export type GetTasksCountResponses = { /** * successful operation */ - 200: Array; + 200: TaskListResponse; }; export type GetTasksCountResponse = GetTasksCountResponses[keyof GetTasksCountResponses]; @@ -13013,7 +15147,7 @@ export type GetTaskwrappersResponses = { /** * successful operation */ - 200: Array; + 200: TaskWrapperListResponse; }; export type GetTaskwrappersResponse = GetTaskwrappersResponses[keyof GetTaskwrappersResponses]; @@ -13092,7 +15226,7 @@ export type GetTaskwrappersCountResponses = { /** * successful operation */ - 200: Array; + 200: TaskWrapperListResponse; }; export type GetTaskwrappersCountResponse = GetTaskwrappersCountResponses[keyof GetTaskwrappersCountResponses]; @@ -13465,7 +15599,7 @@ export type GetUsersResponses = { /** * successful operation */ - 200: Array; + 200: UserListResponse; }; export type GetUsersResponse = GetUsersResponses[keyof GetUsersResponses]; @@ -13573,7 +15707,7 @@ export type GetUsersCountResponses = { /** * successful operation */ - 200: Array; + 200: UserListResponse; }; export type GetUsersCountResponse = GetUsersCountResponses[keyof GetUsersCountResponses]; @@ -13946,7 +16080,7 @@ export type GetVouchersResponses = { /** * successful operation */ - 200: Array; + 200: RegVoucherListResponse; }; export type GetVouchersResponse = GetVouchersResponses[keyof GetVouchersResponses]; @@ -14054,7 +16188,7 @@ export type GetVouchersCountResponses = { /** * successful operation */ - 200: Array; + 200: RegVoucherListResponse; }; export type GetVouchersCountResponse = GetVouchersCountResponses[keyof GetVouchersCountResponses]; diff --git a/src/generated/api/zod.gen.ts b/src/generated/api/zod.gen.ts index 1d628b8d5..34641af5e 100644 --- a/src/generated/api/zod.gen.ts +++ b/src/generated/api/zod.gen.ts @@ -5,11 +5,11 @@ import * as z from 'zod'; export const zErrorResponse = z.object({ title: z.string().optional(), type: z.string().optional(), - status: z.int().optional() + status: z.int() }); export const zNotFoundResponse = z.object({ - message: z.string().optional(), + message: z.string(), exception: z.object({ type: z.string().optional(), code: z.int().optional(), @@ -21,58 +21,66 @@ export const zNotFoundResponse = z.object({ export const zAccessGroupCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\AccessGroup'), + type: z.literal('accessGroup'), attributes: z.object({ groupName: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zAccessGroupPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\AccessGroup'), + type: z.literal('accessGroup'), attributes: z.object({ groupName: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zAccessGroupResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25'), + self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), first: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\AccessGroup'), + data: z.object({ + id: z.int(), + type: z.literal('accessGroup'), attributes: z.object({ - groupName: z.string().optional() - }).optional() - })).optional(), + groupName: z.string() + }) + }), relationships: z.object({ agentMembers: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/accessgroups/relationships/agentMembers'), - related: z.string().optional().default('/api/v2/ui/accessgroups/agentMembers') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/accessgroups/relationships/agentMembers'), + related: z.string().default('/api/v2/ui/accessgroups/agentMembers') + }), + data: z.array(z.object({ + type: z.literal('agent'), + id: z.int() + })).optional() + }), userMembers: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/accessgroups/relationships/userMembers'), - related: z.string().optional().default('/api/v2/ui/accessgroups/userMembers') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/accessgroups/relationships/userMembers'), + related: z.string().default('/api/v2/ui/accessgroups/userMembers') + }), + data: z.array(z.object({ + type: z.literal('user'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('agentMembers'), + type: z.literal('agentMembers').optional(), attributes: z.object({ agentId: z.int().optional(), agentName: z.string().optional(), @@ -89,7 +97,7 @@ export const zAccessGroupResponse = z.object({ isTrusted: z.boolean().optional(), token: z.string().optional(), lastAct: z.string().optional(), - lastTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + lastTime: z.number().optional(), lastIp: z.string().optional(), userId: z.int().optional(), cpuOnly: z.boolean().optional(), @@ -100,35 +108,104 @@ export const zAccessGroupResponse = z.object({ export const zAccessGroupPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }) +}); + +export const zAccessGroupListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + })), + relationships: z.object({ + agentMembers: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/accessgroups/relationships/agentMembers'), + related: z.string().default('/api/v2/ui/accessgroups/agentMembers') + }), + data: z.array(z.object({ + type: z.literal('agent'), + id: z.int() + })).optional() + }), + userMembers: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/accessgroups/relationships/userMembers'), + related: z.string().default('/api/v2/ui/accessgroups/userMembers') + }), + data: z.array(z.object({ + type: z.literal('user'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\AccessGroup'), + type: z.literal('agentMembers').optional(), attributes: z.object({ - groupName: z.string().optional() + agentId: z.int().optional(), + agentName: z.string().optional(), + uid: z.string().optional(), + os: z.int().optional(), + devices: z.string().optional(), + cmdPars: z.string().optional(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]).optional(), + isActive: z.boolean().optional(), + isTrusted: z.boolean().optional(), + token: z.string().optional(), + lastAct: z.string().optional(), + lastTime: z.number().optional(), + lastIp: z.string().optional(), + userId: z.int().optional(), + cpuOnly: z.boolean().optional(), + clientSignature: z.string().optional() }).optional() })).optional() }); export const zAccessGroupRelationAgentMembers = z.object({ data: z.array(z.object({ - type: z.string().optional().default('agentMembers'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('agentMembers'), + id: z.int().default(1) + })) }); export const zAccessGroupRelationAgentMembersGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('agentMembers'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('agentMembers'), + id: z.int().default(1) + })) }); export const zAgentPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Agent'), + type: z.literal('agent'), attributes: z.object({ agentName: z.string().optional(), cmdPars: z.string().optional(), @@ -143,94 +220,122 @@ export const zAgentPatch = z.object({ os: z.int().optional(), uid: z.string().optional(), userId: z.int().optional() - }).optional() - }).optional() + }) + }) }); export const zAgentResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/agents?page[size]=25'), + self: z.string().default('/api/v2/ui/agents?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Agent'), + data: z.object({ + id: z.int(), + type: z.literal('agent'), attributes: z.object({ - agentName: z.string().optional(), - uid: z.string().optional(), - os: z.int().optional(), - devices: z.string().optional(), - cmdPars: z.string().optional(), + agentName: z.string(), + uid: z.string(), + os: z.int(), + devices: z.string(), + cmdPars: z.string(), ignoreErrors: z.union([ z.literal(0), z.literal(1), z.literal(2) - ]).optional(), - isActive: z.boolean().optional(), - isTrusted: z.boolean().optional(), - token: z.string().optional(), - lastAct: z.string().optional(), - lastTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - lastIp: z.string().optional(), - userId: z.int().optional(), - cpuOnly: z.boolean().optional(), - clientSignature: z.string().optional() - }).optional() - })).optional(), + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), relationships: z.object({ accessGroups: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agents/relationships/accessGroups'), - related: z.string().optional().default('/api/v2/ui/agents/accessGroups') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/agents/relationships/accessGroups'), + related: z.string().default('/api/v2/ui/agents/accessGroups') + }), + data: z.array(z.object({ + type: z.literal('accessGroup'), + id: z.int() + })).optional() + }), agentErrors: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agents/relationships/agentErrors'), - related: z.string().optional().default('/api/v2/ui/agents/agentErrors') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/agents/relationships/agentErrors'), + related: z.string().default('/api/v2/ui/agents/agentErrors') + }), + data: z.array(z.object({ + type: z.literal('agentError'), + id: z.int() + })).optional() + }), agentStats: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agents/relationships/agentStats'), - related: z.string().optional().default('/api/v2/ui/agents/agentStats') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/agents/relationships/agentStats'), + related: z.string().default('/api/v2/ui/agents/agentStats') + }), + data: z.array(z.object({ + type: z.literal('agentStat'), + id: z.int() + })).optional() + }), assignments: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agents/relationships/assignments'), - related: z.string().optional().default('/api/v2/ui/agents/assignments') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/agents/relationships/assignments'), + related: z.string().default('/api/v2/ui/agents/assignments') + }), + data: z.array(z.object({ + type: z.literal('agentAssignment'), + id: z.int() + })).optional() + }), chunks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agents/relationships/chunks'), - related: z.string().optional().default('/api/v2/ui/agents/chunks') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/agents/relationships/chunks'), + related: z.string().default('/api/v2/ui/agents/chunks') + }), + data: z.array(z.object({ + type: z.literal('chunk'), + id: z.int() + })).optional() + }), tasks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agents/relationships/tasks'), - related: z.string().optional().default('/api/v2/ui/agents/tasks') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/agents/relationships/tasks'), + related: z.string().default('/api/v2/ui/agents/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }), user: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agents/relationships/user'), - related: z.string().optional().default('/api/v2/ui/agents/user') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/agents/relationships/user'), + related: z.string().default('/api/v2/ui/agents/user') + }), + data: z.object({ + type: z.literal('user'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('assignments'), + type: z.literal('assignments').optional(), attributes: z.object({ assignmentId: z.int().optional(), taskId: z.int().optional(), @@ -242,108 +347,237 @@ export const zAgentResponse = z.object({ export const zAgentPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.int(), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }) +}); + +export const zAgentListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/agents?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Agent'), + id: z.int(), + type: z.literal('agent'), attributes: z.object({ - agentName: z.string().optional(), - uid: z.string().optional(), - os: z.int().optional(), - devices: z.string().optional(), - cmdPars: z.string().optional(), + agentName: z.string(), + uid: z.string(), + os: z.int(), + devices: z.string(), + cmdPars: z.string(), ignoreErrors: z.union([ z.literal(0), z.literal(1), z.literal(2) - ]).optional(), - isActive: z.boolean().optional(), - isTrusted: z.boolean().optional(), - token: z.string().optional(), - lastAct: z.string().optional(), - lastTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - lastIp: z.string().optional(), - userId: z.int().optional(), - cpuOnly: z.boolean().optional(), - clientSignature: z.string().optional() + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + })), + relationships: z.object({ + accessGroups: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/accessGroups'), + related: z.string().default('/api/v2/ui/agents/accessGroups') + }), + data: z.array(z.object({ + type: z.literal('accessGroup'), + id: z.int() + })).optional() + }), + agentErrors: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/agentErrors'), + related: z.string().default('/api/v2/ui/agents/agentErrors') + }), + data: z.array(z.object({ + type: z.literal('agentError'), + id: z.int() + })).optional() + }), + agentStats: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/agentStats'), + related: z.string().default('/api/v2/ui/agents/agentStats') + }), + data: z.array(z.object({ + type: z.literal('agentStat'), + id: z.int() + })).optional() + }), + assignments: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/assignments'), + related: z.string().default('/api/v2/ui/agents/assignments') + }), + data: z.array(z.object({ + type: z.literal('agentAssignment'), + id: z.int() + })).optional() + }), + chunks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/chunks'), + related: z.string().default('/api/v2/ui/agents/chunks') + }), + data: z.array(z.object({ + type: z.literal('chunk'), + id: z.int() + })).optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/tasks'), + related: z.string().default('/api/v2/ui/agents/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }), + user: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/user'), + related: z.string().default('/api/v2/ui/agents/user') + }), + data: z.object({ + type: z.literal('user'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.literal('assignments').optional(), + attributes: z.object({ + assignmentId: z.int().optional(), + taskId: z.int().optional(), + agentId: z.int().optional(), + benchmark: z.string().optional() }).optional() })).optional() }); export const zAgentRelationAssignments = z.object({ data: z.array(z.object({ - type: z.string().optional().default('assignments'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('assignments'), + id: z.int().default(1) + })) }); export const zAgentRelationAssignmentsGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('assignments'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('assignments'), + id: z.int().default(1) + })) }); export const zAssignmentCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Assignment'), + type: z.literal('assignment'), attributes: z.object({ taskId: z.int().optional(), agentId: z.int().optional(), benchmark: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zAssignmentPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Assignment'), + type: z.literal('assignment'), attributes: z.object({ benchmark: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zAssignmentResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25'), + self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Assignment'), + data: z.object({ + id: z.int(), + type: z.literal('assignment'), attributes: z.object({ - taskId: z.int().optional(), - agentId: z.int().optional(), - benchmark: z.string().optional() - }).optional() - })).optional(), + taskId: z.int(), + agentId: z.int(), + benchmark: z.string() + }) + }), relationships: z.object({ agent: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agentassignments/relationships/agent'), - related: z.string().optional().default('/api/v2/ui/agentassignments/agent') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/agentassignments/relationships/agent'), + related: z.string().default('/api/v2/ui/agentassignments/agent') + }), + data: z.object({ + type: z.literal('agent'), + id: z.int() + }).nullish() + }), task: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agentassignments/relationships/task'), - related: z.string().optional().default('/api/v2/ui/agentassignments/task') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/agentassignments/relationships/task'), + related: z.string().default('/api/v2/ui/agentassignments/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('task'), + type: z.literal('task').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -352,22 +586,22 @@ export const zAssignmentResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -377,141 +611,319 @@ export const zAssignmentResponse = z.object({ export const zAssignmentPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('assignment'), + attributes: z.object({ + taskId: z.int(), + agentId: z.int(), + benchmark: z.string() + }) + }) +}); + +export const zAssignmentListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('assignment'), + attributes: z.object({ + taskId: z.int(), + agentId: z.int(), + benchmark: z.string() + }) + })), + relationships: z.object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agentassignments/relationships/agent'), + related: z.string().default('/api/v2/ui/agentassignments/agent') + }), + data: z.object({ + type: z.literal('agent'), + id: z.int() + }).nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agentassignments/relationships/task'), + related: z.string().default('/api/v2/ui/agentassignments/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Assignment'), + type: z.literal('task').optional(), attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), taskId: z.int().optional(), - agentId: z.int().optional(), - benchmark: z.string().optional() + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.number().optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.number().optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() }).optional() })).optional() }); export const zAssignmentRelationTask = z.object({ data: z.object({ - type: z.string().optional().default('task'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zAssignmentRelationTaskGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('task'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zAgentBinaryCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\AgentBinary'), + type: z.literal('agentBinary'), attributes: z.object({ binaryType: z.string().optional(), version: z.string().optional(), operatingSystems: z.string().optional(), filename: z.string().optional(), updateTrack: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zAgentBinaryPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\AgentBinary'), + type: z.literal('agentBinary'), attributes: z.object({ binaryType: z.string().optional(), filename: z.string().optional(), operatingSystems: z.string().optional(), updateTrack: z.string().optional(), version: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zAgentBinaryResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25'), + self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\AgentBinary'), + data: z.object({ + id: z.int(), + type: z.literal('agentBinary'), attributes: z.object({ - binaryType: z.string().optional(), - version: z.string().optional(), - operatingSystems: z.string().optional(), - filename: z.string().optional(), - updateTrack: z.string().optional(), - updateAvailable: z.string().optional() - }).optional() - })).optional(), + binaryType: z.string(), + version: z.string(), + operatingSystems: z.string(), + filename: z.string(), + updateTrack: z.string(), + updateAvailable: z.string() + }) + }), relationships: z.record(z.string(), z.unknown()).optional(), included: z.array(z.record(z.string(), z.unknown())).optional() }); export const zAgentBinaryPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\AgentBinary'), + }), + data: z.object({ + id: z.int(), + type: z.literal('agentBinary'), attributes: z.object({ - binaryType: z.string().optional(), - version: z.string().optional(), - operatingSystems: z.string().optional(), - filename: z.string().optional(), - updateTrack: z.string().optional(), - updateAvailable: z.string().optional() - }).optional() - })).optional() + binaryType: z.string(), + version: z.string(), + operatingSystems: z.string(), + filename: z.string(), + updateTrack: z.string(), + updateAvailable: z.string() + }) + }) }); -export const zAgentErrorResponse = z.object({ +export const zAgentBinaryListResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') + self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('agentBinary'), + attributes: z.object({ + binaryType: z.string(), + version: z.string(), + operatingSystems: z.string(), + filename: z.string(), + updateTrack: z.string(), + updateAvailable: z.string() + }) + })), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zAgentErrorResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') + }).optional(), + data: z.object({ + id: z.int(), + type: z.literal('agentError'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + chunkId: z.int(), + time: z.number(), + error: z.string() + }) + }), + relationships: z.object({ + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agenterrors/relationships/task'), + related: z.string().default('/api/v2/ui/agenterrors/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\AgentError'), + type: z.literal('task').optional(), attributes: z.object({ - agentId: z.int().optional(), + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), taskId: z.int().optional(), - chunkId: z.int().optional(), - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - error: z.string().optional() + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.number().optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.number().optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() }).optional() - })).optional(), + })).optional() +}); + +export const zAgentErrorListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int(), + type: z.literal('agentError'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + chunkId: z.int(), + time: z.number(), + error: z.string() + }) + })), relationships: z.object({ task: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/agenterrors/relationships/task'), - related: z.string().optional().default('/api/v2/ui/agenterrors/task') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/agenterrors/relationships/task'), + related: z.string().default('/api/v2/ui/agenterrors/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('task'), + type: z.literal('task').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -520,22 +932,22 @@ export const zAgentErrorResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -545,99 +957,130 @@ export const zAgentErrorResponse = z.object({ export const zAgentErrorRelationTask = z.object({ data: z.object({ - type: z.string().optional().default('task'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zAgentErrorRelationTaskGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('task'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zAgentStatResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') }).optional(), + data: z.object({ + id: z.int(), + type: z.literal('agentStat'), + attributes: z.object({ + agentId: z.int(), + statType: z.int(), + time: z.number(), + value: z.array(z.int()) + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zAgentStatListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25'), + self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\AgentStat'), + id: z.int(), + type: z.literal('agentStat'), attributes: z.object({ - agentId: z.int().optional(), - statType: z.int().optional(), - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - value: z.array(z.int()).optional() - }).optional() - })).optional(), + agentId: z.int(), + statType: z.int(), + time: z.number(), + value: z.array(z.int()) + }) + })), relationships: z.record(z.string(), z.unknown()).optional(), included: z.array(z.record(z.string(), z.unknown())).optional() }); export const zJwtApiKeyCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\JwtApiKey'), + type: z.literal('jwtApiKey'), attributes: z.object({ scopes: z.array(z.int()).optional(), - startValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - endValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + startValid: z.number().optional(), + endValid: z.number().optional(), userId: z.int().optional(), isRevoked: z.boolean().optional() - }).optional() - }).optional() + }) + }) }); export const zJwtApiKeyPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\JwtApiKey'), + type: z.literal('jwtApiKey'), attributes: z.object({ isRevoked: z.boolean().optional() - }).optional() - }).optional() + }) + }) }); export const zJwtApiKeyResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25'), + self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), first: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\JwtApiKey'), + data: z.object({ + id: z.int(), + type: z.literal('jwtApiKey'), attributes: z.object({ - startValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - endValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - userId: z.int().optional(), - isRevoked: z.boolean().optional() - }).optional() - })).optional(), + startValid: z.number(), + endValid: z.number(), + userId: z.int(), + isRevoked: z.boolean(), + token: z.string().optional() + }) + }), relationships: z.object({ user: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/apiTokens/relationships/user'), - related: z.string().optional().default('/api/v2/ui/apiTokens/user') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/apiTokens/relationships/user'), + related: z.string().default('/api/v2/ui/apiTokens/user') + }), + data: z.object({ + type: z.literal('user'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('user'), + type: z.literal('user').optional(), attributes: z.object({ userId: z.int().optional(), name: z.string().optional(), @@ -646,8 +1089,8 @@ export const zJwtApiKeyResponse = z.object({ passwordSalt: z.string().optional(), isValid: z.boolean().optional(), isComputedPassword: z.boolean().optional(), - lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + lastLoginDate: z.number().optional(), + registeredSince: z.number().optional(), sessionLifetime: z.int().optional(), globalPermissionGroupId: z.int().optional(), yubikey: z.string().optional(), @@ -661,81 +1104,234 @@ export const zJwtApiKeyResponse = z.object({ export const zJwtApiKeyPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('jwtApiKey'), + attributes: z.object({ + startValid: z.number(), + endValid: z.number(), + userId: z.int(), + isRevoked: z.boolean(), + token: z.string().optional() + }) + }) +}); + +export const zJwtApiKeyListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('jwtApiKey'), + attributes: z.object({ + startValid: z.number(), + endValid: z.number(), + userId: z.int(), + isRevoked: z.boolean(), + token: z.string().optional() + }) + })), + relationships: z.object({ + user: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/apiTokens/relationships/user'), + related: z.string().default('/api/v2/ui/apiTokens/user') + }), + data: z.object({ + type: z.literal('user'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\JwtApiKey'), + type: z.literal('user').optional(), attributes: z.object({ - startValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - endValid: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), userId: z.int().optional(), - isRevoked: z.boolean().optional() + name: z.string().optional(), + email: z.string().optional(), + passwordHash: z.string().optional(), + passwordSalt: z.string().optional(), + isValid: z.boolean().optional(), + isComputedPassword: z.boolean().optional(), + lastLoginDate: z.number().optional(), + registeredSince: z.number().optional(), + sessionLifetime: z.int().optional(), + globalPermissionGroupId: z.int().optional(), + yubikey: z.string().optional(), + otp1: z.string().optional(), + otp2: z.string().optional(), + otp3: z.string().optional(), + otp4: z.string().optional() }).optional() })).optional() }); export const zJwtApiKeyRelationUser = z.object({ data: z.object({ - type: z.string().optional().default('user'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('user'), + id: z.int().default(1) + }) }); export const zJwtApiKeyRelationUserGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('user'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('user'), + id: z.int().default(1) + }) }); export const zChunkResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/chunks?page[size]=25'), + self: z.string().default('/api/v2/ui/chunks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ + data: z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.int(), + cracked: z.int(), + speed: z.number() + }) + }), + relationships: z.object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/chunks/relationships/agent'), + related: z.string().default('/api/v2/ui/chunks/agent') + }), + data: z.object({ + type: z.literal('agent'), + id: z.int() + }).nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/chunks/relationships/task'), + related: z.string().default('/api/v2/ui/chunks/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Chunk'), + type: z.literal('task').optional(), attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), taskId: z.int().optional(), - skip: z.int().optional(), - length: z.int().optional(), - agentId: z.int().optional(), - dispatchTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - solveTime: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - checkpoint: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - progress: z.int().optional(), - state: z.int().optional(), - cracked: z.int().optional(), - speed: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.number().optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.number().optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() }).optional() - })).optional(), + })).optional() +}); + +export const zChunkListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/chunks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.int(), + cracked: z.int(), + speed: z.number() + }) + })), relationships: z.object({ agent: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/chunks/relationships/agent'), - related: z.string().optional().default('/api/v2/ui/chunks/agent') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/chunks/relationships/agent'), + related: z.string().default('/api/v2/ui/chunks/agent') + }), + data: z.object({ + type: z.literal('agent'), + id: z.int() + }).nullish() + }), task: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/chunks/relationships/task'), - related: z.string().optional().default('/api/v2/ui/chunks/task') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/chunks/relationships/task'), + related: z.string().default('/api/v2/ui/chunks/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('task'), + type: z.literal('task').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -744,22 +1340,22 @@ export const zChunkResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -769,60 +1365,64 @@ export const zChunkResponse = z.object({ export const zChunkRelationTask = z.object({ data: z.object({ - type: z.string().optional().default('task'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zChunkRelationTaskGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('task'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zConfigPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Config'), + type: z.literal('config'), attributes: z.object({ item: z.string().optional(), value: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zConfigResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/configs?page[size]=25'), + self: z.string().default('/api/v2/ui/configs?page[size]=25'), first: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Config'), + data: z.object({ + id: z.int(), + type: z.literal('config'), attributes: z.object({ - configSectionId: z.int().optional(), - item: z.string().optional(), - value: z.string().optional() - }).optional() - })).optional(), + configSectionId: z.int(), + item: z.string(), + value: z.string() + }) + }), relationships: z.object({ configSection: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/configs/relationships/configSection'), - related: z.string().optional().default('/api/v2/ui/configs/configSection') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/configs/relationships/configSection'), + related: z.string().default('/api/v2/ui/configs/configSection') + }), + data: z.object({ + type: z.literal('configSection'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('configSection'), + type: z.literal('configSection').optional(), attributes: z.object({ configSectionId: z.int().optional(), sectionName: z.string().optional() @@ -832,119 +1432,193 @@ export const zConfigResponse = z.object({ export const zConfigPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('config'), + attributes: z.object({ + configSectionId: z.int(), + item: z.string(), + value: z.string() + }) + }) +}); + +export const zConfigListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/configs?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('config'), + attributes: z.object({ + configSectionId: z.int(), + item: z.string(), + value: z.string() + }) + })), + relationships: z.object({ + configSection: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/configs/relationships/configSection'), + related: z.string().default('/api/v2/ui/configs/configSection') + }), + data: z.object({ + type: z.literal('configSection'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Config'), + type: z.literal('configSection').optional(), attributes: z.object({ configSectionId: z.int().optional(), - item: z.string().optional(), - value: z.string().optional() + sectionName: z.string().optional() }).optional() })).optional() }); export const zConfigRelationConfigSection = z.object({ data: z.object({ - type: z.string().optional().default('configSection'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('configSection'), + id: z.int().default(1) + }) }); export const zConfigRelationConfigSectionGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('configSection'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('configSection'), + id: z.int().default(1) + }) }); export const zConfigSectionResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/configsections?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') }).optional(), + data: z.object({ + id: z.int(), + type: z.literal('configSection'), + attributes: z.object({ + sectionName: z.string() + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() +}); + +export const zConfigSectionListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/configsections?page[size]=25'), + self: z.string().default('/api/v2/ui/configsections?page[size]=25'), first: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\ConfigSection'), + id: z.int(), + type: z.literal('configSection'), attributes: z.object({ - sectionName: z.string().optional() - }).optional() - })).optional(), + sectionName: z.string() + }) + })), relationships: z.record(z.string(), z.unknown()).optional(), included: z.array(z.record(z.string(), z.unknown())).optional() }); export const zCrackerBinaryCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\CrackerBinary'), + type: z.literal('crackerBinary'), attributes: z.object({ crackerBinaryTypeId: z.int().optional(), version: z.string().optional(), downloadUrl: z.string().optional(), binaryName: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zCrackerBinaryPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\CrackerBinary'), + type: z.literal('crackerBinary'), attributes: z.object({ binaryName: z.string().optional(), downloadUrl: z.string().optional(), version: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zCrackerBinaryResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/crackers?page[size]=25'), + self: z.string().default('/api/v2/ui/crackers?page[size]=25'), first: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\CrackerBinary'), + data: z.object({ + id: z.int(), + type: z.literal('crackerBinary'), attributes: z.object({ - crackerBinaryTypeId: z.int().optional(), - version: z.string().optional(), - downloadUrl: z.string().optional(), - binaryName: z.string().optional() - }).optional() - })).optional(), + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), relationships: z.object({ crackerBinaryType: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/crackers/relationships/crackerBinaryType'), - related: z.string().optional().default('/api/v2/ui/crackers/crackerBinaryType') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/crackers/relationships/crackerBinaryType'), + related: z.string().default('/api/v2/ui/crackers/crackerBinaryType') + }), + data: z.object({ + type: z.literal('crackerBinaryType'), + id: z.int() + }).nullish() + }), tasks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/crackers/relationships/tasks'), - related: z.string().optional().default('/api/v2/ui/crackers/tasks') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/crackers/relationships/tasks'), + related: z.string().default('/api/v2/ui/crackers/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('tasks'), + type: z.literal('tasks').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -953,22 +1627,22 @@ export const zCrackerBinaryResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -978,91 +1652,177 @@ export const zCrackerBinaryResponse = z.object({ export const zCrackerBinaryPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }) +}); + +export const zCrackerBinaryListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/crackers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + })), + relationships: z.object({ + crackerBinaryType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackers/relationships/crackerBinaryType'), + related: z.string().default('/api/v2/ui/crackers/crackerBinaryType') + }), + data: z.object({ + type: z.literal('crackerBinaryType'), + id: z.int() + }).nullish() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackers/relationships/tasks'), + related: z.string().default('/api/v2/ui/crackers/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\CrackerBinary'), + type: z.literal('tasks').optional(), attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.number().optional(), + crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), - version: z.string().optional(), - downloadUrl: z.string().optional(), - binaryName: z.string().optional() + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.number().optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() }).optional() })).optional() }); export const zCrackerBinaryRelationTasks = z.object({ data: z.array(z.object({ - type: z.string().optional().default('tasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('tasks'), + id: z.int().default(1) + })) }); export const zCrackerBinaryRelationTasksGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('tasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('tasks'), + id: z.int().default(1) + })) }); export const zCrackerBinaryTypeCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\CrackerBinaryType'), + type: z.literal('crackerBinaryType'), attributes: z.object({ typeName: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zCrackerBinaryTypePatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\CrackerBinaryType'), + type: z.literal('crackerBinaryType'), attributes: z.object({ isChunkingAvailable: z.boolean().optional(), typeName: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zCrackerBinaryTypeResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25'), + self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), first: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\CrackerBinaryType'), + data: z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), attributes: z.object({ - typeName: z.string().optional(), - isChunkingAvailable: z.boolean().optional() - }).optional() - })).optional(), + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), relationships: z.object({ crackerVersions: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/crackertypes/relationships/crackerVersions'), - related: z.string().optional().default('/api/v2/ui/crackertypes/crackerVersions') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/crackertypes/relationships/crackerVersions'), + related: z.string().default('/api/v2/ui/crackertypes/crackerVersions') + }), + data: z.array(z.object({ + type: z.literal('crackerBinary'), + id: z.int() + })).optional() + }), tasks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/crackertypes/relationships/tasks'), - related: z.string().optional().default('/api/v2/ui/crackertypes/tasks') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/crackertypes/relationships/tasks'), + related: z.string().default('/api/v2/ui/crackertypes/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('tasks'), + type: z.literal('tasks').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -1071,22 +1831,22 @@ export const zCrackerBinaryTypeResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -1096,36 +1856,112 @@ export const zCrackerBinaryTypeResponse = z.object({ export const zCrackerBinaryTypePostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }) +}); + +export const zCrackerBinaryTypeListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + })), + relationships: z.object({ + crackerVersions: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackertypes/relationships/crackerVersions'), + related: z.string().default('/api/v2/ui/crackertypes/crackerVersions') + }), + data: z.array(z.object({ + type: z.literal('crackerBinary'), + id: z.int() + })).optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackertypes/relationships/tasks'), + related: z.string().default('/api/v2/ui/crackertypes/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\CrackerBinaryType'), + type: z.literal('tasks').optional(), attributes: z.object({ - typeName: z.string().optional(), - isChunkingAvailable: z.boolean().optional() + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.number().optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.number().optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() }).optional() })).optional() }); export const zCrackerBinaryTypeRelationTasks = z.object({ data: z.array(z.object({ - type: z.string().optional().default('tasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('tasks'), + id: z.int().default(1) + })) }); export const zCrackerBinaryTypeRelationTasksGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('tasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('tasks'), + id: z.int().default(1) + })) }); export const zFileCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\File'), + type: z.literal('file'), attributes: z.object({ sourceType: z.string().optional(), sourceData: z.string().optional(), @@ -1133,57 +1969,61 @@ export const zFileCreate = z.object({ isSecret: z.boolean().optional(), fileType: z.int().optional(), accessGroupId: z.int().optional() - }).optional() - }).optional() + }) + }) }); export const zFilePatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\File'), + type: z.literal('file'), attributes: z.object({ accessGroupId: z.int().optional(), fileType: z.int().optional(), filename: z.string().optional(), isSecret: z.boolean().optional() - }).optional() - }).optional() + }) + }) }); export const zFileResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/files?page[size]=25'), + self: z.string().default('/api/v2/ui/files?page[size]=25'), first: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\File'), + data: z.object({ + id: z.int(), + type: z.literal('file'), attributes: z.object({ - filename: z.string().optional(), - size: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - isSecret: z.boolean().optional(), - fileType: z.int().optional(), - accessGroupId: z.int().optional(), - lineCount: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() - }).optional() - })).optional(), + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.int(), + accessGroupId: z.int(), + lineCount: z.number() + }) + }), relationships: z.object({ accessGroup: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/files/relationships/accessGroup'), - related: z.string().optional().default('/api/v2/ui/files/accessGroup') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/files/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/files/accessGroup') + }), + data: z.object({ + type: z.literal('accessGroup'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('accessGroup'), + type: z.literal('accessGroup').optional(), attributes: z.object({ accessGroupId: z.int().optional(), groupName: z.string().optional() @@ -1192,29 +2032,33 @@ export const zFileResponse = z.object({ }); export const zFileSingleResponse = z.object({ - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\File'), + data: z.object({ + id: z.int(), + type: z.literal('file'), attributes: z.object({ - filename: z.string().optional(), - size: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - isSecret: z.boolean().optional(), - fileType: z.int().optional(), - accessGroupId: z.int().optional(), - lineCount: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() - }).optional() - })).optional(), + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.int(), + accessGroupId: z.int(), + lineCount: z.number() + }) + }), relationships: z.object({ accessGroup: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/files/relationships/accessGroup'), - related: z.string().optional().default('/api/v2/ui/files/accessGroup') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/files/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/files/accessGroup') + }), + data: z.object({ + type: z.literal('accessGroup'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('accessGroup'), + type: z.literal('accessGroup').optional(), attributes: z.object({ accessGroupId: z.int().optional(), groupName: z.string().optional() @@ -1224,88 +2068,138 @@ export const zFileSingleResponse = z.object({ export const zFilePostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('file'), + attributes: z.object({ + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.int(), + accessGroupId: z.int(), + lineCount: z.number() + }) + }) +}); + +export const zFileListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/files?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('file'), + attributes: z.object({ + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.int(), + accessGroupId: z.int(), + lineCount: z.number() + }) + })), + relationships: z.object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/files/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/files/accessGroup') + }), + data: z.object({ + type: z.literal('accessGroup'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\File'), + type: z.literal('accessGroup').optional(), attributes: z.object({ - filename: z.string().optional(), - size: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - isSecret: z.boolean().optional(), - fileType: z.int().optional(), accessGroupId: z.int().optional(), - lineCount: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + groupName: z.string().optional() }).optional() })).optional() }); export const zFileRelationAccessGroup = z.object({ data: z.object({ - type: z.string().optional().default('accessGroup'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('accessGroup'), + id: z.int().default(1) + }) }); export const zFileRelationAccessGroupGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('accessGroup'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('accessGroup'), + id: z.int().default(1) + }) }); export const zRightGroupCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\RightGroup'), + type: z.literal('rightGroup'), attributes: z.object({ name: z.string().optional(), permissions: z.record(z.string(), z.unknown()).optional() - }).optional() - }).optional() + }) + }) }); export const zRightGroupPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\RightGroup'), + type: z.literal('rightGroup'), attributes: z.object({ name: z.string().optional(), permissions: z.record(z.string(), z.unknown()).optional() - }).optional() - }).optional() + }) + }) }); export const zRightGroupResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), + self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), first: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\RightGroup'), + data: z.object({ + id: z.int(), + type: z.literal('rightGroup'), attributes: z.object({ - name: z.string().optional(), - permissions: z.record(z.string(), z.unknown()).optional() - }).optional() - })).optional(), + name: z.string(), + permissions: z.record(z.string(), z.unknown()) + }) + }), relationships: z.object({ userMembers: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/globalpermissiongroups/relationships/userMembers'), - related: z.string().optional().default('/api/v2/ui/globalpermissiongroups/userMembers') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/globalpermissiongroups/relationships/userMembers'), + related: z.string().default('/api/v2/ui/globalpermissiongroups/userMembers') + }), + data: z.array(z.object({ + type: z.literal('user'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('userMembers'), + type: z.literal('userMembers').optional(), attributes: z.object({ userId: z.int().optional(), name: z.string().optional(), @@ -1314,8 +2208,8 @@ export const zRightGroupResponse = z.object({ passwordSalt: z.string().optional(), isValid: z.boolean().optional(), isComputedPassword: z.boolean().optional(), - lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + lastLoginDate: z.number().optional(), + registeredSince: z.number().optional(), sessionLifetime: z.int().optional(), globalPermissionGroupId: z.int().optional(), yubikey: z.string().optional(), @@ -1329,76 +2223,219 @@ export const zRightGroupResponse = z.object({ export const zRightGroupPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('rightGroup'), + attributes: z.object({ + name: z.string(), + permissions: z.record(z.string(), z.unknown()) + }) + }) +}); + +export const zRightGroupListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('rightGroup'), + attributes: z.object({ + name: z.string(), + permissions: z.record(z.string(), z.unknown()) + }) + })), + relationships: z.object({ + userMembers: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/globalpermissiongroups/relationships/userMembers'), + related: z.string().default('/api/v2/ui/globalpermissiongroups/userMembers') + }), + data: z.array(z.object({ + type: z.literal('user'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\RightGroup'), + type: z.literal('userMembers').optional(), attributes: z.object({ + userId: z.int().optional(), name: z.string().optional(), - permissions: z.record(z.string(), z.unknown()).optional() + email: z.string().optional(), + passwordHash: z.string().optional(), + passwordSalt: z.string().optional(), + isValid: z.boolean().optional(), + isComputedPassword: z.boolean().optional(), + lastLoginDate: z.number().optional(), + registeredSince: z.number().optional(), + sessionLifetime: z.int().optional(), + globalPermissionGroupId: z.int().optional(), + yubikey: z.string().optional(), + otp1: z.string().optional(), + otp2: z.string().optional(), + otp3: z.string().optional(), + otp4: z.string().optional() }).optional() })).optional() }); export const zRightGroupRelationUserMembers = z.object({ data: z.array(z.object({ - type: z.string().optional().default('userMembers'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('userMembers'), + id: z.int().default(1) + })) }); export const zRightGroupRelationUserMembersGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('userMembers'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('userMembers'), + id: z.int().default(1) + })) }); export const zHashResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashes?page[size]=25'), + self: z.string().default('/api/v2/ui/hashes?page[size]=25'), first: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ + data: z.object({ + id: z.int(), + type: z.literal('hash'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) + }), + relationships: z.object({ + chunk: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashes/relationships/chunk'), + related: z.string().default('/api/v2/ui/hashes/chunk') + }), + data: z.object({ + type: z.literal('chunk'), + id: z.int() + }).nullish() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashes/relationships/hashlist'), + related: z.string().default('/api/v2/ui/hashes/hashlist') + }), + data: z.object({ + type: z.literal('hashlist'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Hash'), + type: z.literal('hashlist').optional(), attributes: z.object({ + hashlistSeperator: z.string().optional(), + sourceType: z.string().optional(), + sourceData: z.string().optional(), hashlistId: z.int().optional(), - hash: z.string().optional(), - salt: z.string().optional(), - plaintext: z.string().optional(), - timeCracked: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - chunkId: z.int().optional(), - isCracked: z.boolean().optional(), - crackPos: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + name: z.string().optional(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]).optional(), + hashTypeId: z.int().optional(), + hashCount: z.int().optional(), + separator: z.string().optional(), + cracked: z.int().optional(), + isSecret: z.boolean().optional(), + isHexSalt: z.boolean().optional(), + isSalted: z.boolean().optional(), + accessGroupId: z.int().optional(), + notes: z.string().optional(), + useBrain: z.boolean().optional(), + brainFeatures: z.int().optional(), + isArchived: z.boolean().optional() }).optional() - })).optional(), + })).optional() +}); + +export const zHashListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/hashes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int(), + type: z.literal('hash'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) + })), relationships: z.object({ chunk: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashes/relationships/chunk'), - related: z.string().optional().default('/api/v2/ui/hashes/chunk') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/hashes/relationships/chunk'), + related: z.string().default('/api/v2/ui/hashes/chunk') + }), + data: z.object({ + type: z.literal('chunk'), + id: z.int() + }).nullish() + }), hashlist: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashes/relationships/hashlist'), - related: z.string().optional().default('/api/v2/ui/hashes/hashlist') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/hashes/relationships/hashlist'), + related: z.string().default('/api/v2/ui/hashes/hashlist') + }), + data: z.object({ + type: z.literal('hashlist'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('hashlist'), + type: z.literal('hashlist').optional(), attributes: z.object({ hashlistSeperator: z.string().optional(), sourceType: z.string().optional(), @@ -1429,21 +2466,21 @@ export const zHashResponse = z.object({ export const zHashRelationHashlist = z.object({ data: z.object({ - type: z.string().optional().default('hashlist'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('hashlist'), + id: z.int().default(1) + }) }); export const zHashRelationHashlistGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('hashlist'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('hashlist'), + id: z.int().default(1) + }) }); export const zHashlistCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + type: z.literal('hashlist'), attributes: z.object({ hashlistSeperator: z.string().optional(), sourceType: z.string().optional(), @@ -1466,95 +2503,115 @@ export const zHashlistCreate = z.object({ useBrain: z.boolean().optional(), brainFeatures: z.int().optional(), isArchived: z.boolean().optional() - }).optional() - }).optional() + }) + }) }); export const zHashlistPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + type: z.literal('hashlist'), attributes: z.object({ accessGroupId: z.int().optional(), isArchived: z.boolean().optional(), isSecret: z.boolean().optional(), name: z.string().optional(), notes: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zHashlistResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25'), + self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), first: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + data: z.object({ + id: z.int(), + type: z.literal('hashlist'), attributes: z.object({ - name: z.string().optional(), + name: z.string(), format: z.union([ z.literal(0), z.literal(1), z.literal(2), z.literal(3) - ]).optional(), - hashTypeId: z.int().optional(), - hashCount: z.int().optional(), - separator: z.string().optional(), - cracked: z.int().optional(), - isSecret: z.boolean().optional(), - isHexSalt: z.boolean().optional(), - isSalted: z.boolean().optional(), - accessGroupId: z.int().optional(), - notes: z.string().optional(), - useBrain: z.boolean().optional(), - brainFeatures: z.int().optional(), - isArchived: z.boolean().optional() - }).optional() - })).optional(), + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), relationships: z.object({ accessGroup: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/accessGroup'), - related: z.string().optional().default('/api/v2/ui/hashlists/accessGroup') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/hashlists/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/hashlists/accessGroup') + }), + data: z.object({ + type: z.literal('accessGroup'), + id: z.int() + }).nullish() + }), hashType: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashType'), - related: z.string().optional().default('/api/v2/ui/hashlists/hashType') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/hashlists/relationships/hashType'), + related: z.string().default('/api/v2/ui/hashlists/hashType') + }), + data: z.object({ + type: z.literal('hashType'), + id: z.int() + }).nullish() + }), hashes: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashes'), - related: z.string().optional().default('/api/v2/ui/hashlists/hashes') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/hashlists/relationships/hashes'), + related: z.string().default('/api/v2/ui/hashlists/hashes') + }), + data: z.array(z.object({ + type: z.literal('hash'), + id: z.int() + })).optional() + }), hashlists: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashlists'), - related: z.string().optional().default('/api/v2/ui/hashlists/hashlists') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/hashlists/relationships/hashlists'), + related: z.string().default('/api/v2/ui/hashlists/hashlists') + }), + data: z.array(z.object({ + type: z.literal('hashlist'), + id: z.int() + })).optional() + }), tasks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/tasks'), - related: z.string().optional().default('/api/v2/ui/hashlists/tasks') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/hashlists/relationships/tasks'), + related: z.string().default('/api/v2/ui/hashlists/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('tasks'), + type: z.literal('tasks').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -1563,22 +2620,22 @@ export const zHashlistResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -1587,66 +2644,86 @@ export const zHashlistResponse = z.object({ }); export const zHashlistSingleResponse = z.object({ - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + data: z.object({ + id: z.int(), + type: z.literal('hashlist'), attributes: z.object({ - name: z.string().optional(), + name: z.string(), format: z.union([ z.literal(0), z.literal(1), z.literal(2), z.literal(3) - ]).optional(), - hashTypeId: z.int().optional(), - hashCount: z.int().optional(), - separator: z.string().optional(), - cracked: z.int().optional(), - isSecret: z.boolean().optional(), - isHexSalt: z.boolean().optional(), - isSalted: z.boolean().optional(), - accessGroupId: z.int().optional(), - notes: z.string().optional(), - useBrain: z.boolean().optional(), - brainFeatures: z.int().optional(), - isArchived: z.boolean().optional() - }).optional() - })).optional(), + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), relationships: z.object({ accessGroup: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/accessGroup'), - related: z.string().optional().default('/api/v2/ui/hashlists/accessGroup') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/hashlists/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/hashlists/accessGroup') + }), + data: z.object({ + type: z.literal('accessGroup'), + id: z.int() + }).nullish() + }), hashType: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashType'), - related: z.string().optional().default('/api/v2/ui/hashlists/hashType') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/hashlists/relationships/hashType'), + related: z.string().default('/api/v2/ui/hashlists/hashType') + }), + data: z.object({ + type: z.literal('hashType'), + id: z.int() + }).nullish() + }), hashes: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashes'), - related: z.string().optional().default('/api/v2/ui/hashlists/hashes') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/hashlists/relationships/hashes'), + related: z.string().default('/api/v2/ui/hashlists/hashes') + }), + data: z.array(z.object({ + type: z.literal('hash'), + id: z.int() + })).optional() + }), hashlists: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/hashlists'), - related: z.string().optional().default('/api/v2/ui/hashlists/hashlists') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/hashlists/relationships/hashlists'), + related: z.string().default('/api/v2/ui/hashlists/hashlists') + }), + data: z.array(z.object({ + type: z.literal('hashlist'), + id: z.int() + })).optional() + }), tasks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashlists/relationships/tasks'), - related: z.string().optional().default('/api/v2/ui/hashlists/tasks') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/hashlists/relationships/tasks'), + related: z.string().default('/api/v2/ui/hashlists/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('tasks'), + type: z.literal('tasks').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -1655,22 +2732,22 @@ export const zHashlistSingleResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -1680,160 +2757,380 @@ export const zHashlistSingleResponse = z.object({ export const zHashlistPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }) +}); + +export const zHashlistListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Hashlist'), + id: z.int(), + type: z.literal('hashlist'), attributes: z.object({ - name: z.string().optional(), + name: z.string(), format: z.union([ z.literal(0), z.literal(1), z.literal(2), z.literal(3) - ]).optional(), - hashTypeId: z.int().optional(), - hashCount: z.int().optional(), - separator: z.string().optional(), - cracked: z.int().optional(), - isSecret: z.boolean().optional(), - isHexSalt: z.boolean().optional(), - isSalted: z.boolean().optional(), - accessGroupId: z.int().optional(), + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + })), + relationships: z.object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/hashlists/accessGroup') + }), + data: z.object({ + type: z.literal('accessGroup'), + id: z.int() + }).nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashType'), + related: z.string().default('/api/v2/ui/hashlists/hashType') + }), + data: z.object({ + type: z.literal('hashType'), + id: z.int() + }).nullish() + }), + hashes: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashes'), + related: z.string().default('/api/v2/ui/hashlists/hashes') + }), + data: z.array(z.object({ + type: z.literal('hash'), + id: z.int() + })).optional() + }), + hashlists: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashlists'), + related: z.string().default('/api/v2/ui/hashlists/hashlists') + }), + data: z.array(z.object({ + type: z.literal('hashlist'), + id: z.int() + })).optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/tasks'), + related: z.string().default('/api/v2/ui/hashlists/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.literal('tasks').optional(), + attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.number().optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), notes: z.string().optional(), - useBrain: z.boolean().optional(), - brainFeatures: z.int().optional(), - isArchived: z.boolean().optional() + staticChunks: z.int().optional(), + chunkSize: z.number().optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() }).optional() })).optional() }); export const zHashlistRelationTasks = z.object({ data: z.array(z.object({ - type: z.string().optional().default('tasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('tasks'), + id: z.int().default(1) + })) }); export const zHashlistRelationTasksGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('tasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('tasks'), + id: z.int().default(1) + })) }); export const zHashTypeCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\HashType'), + type: z.literal('hashType'), attributes: z.object({ hashTypeId: z.int().optional(), description: z.string().optional(), isSalted: z.boolean().optional(), isSlowHash: z.boolean().optional() - }).optional() - }).optional() + }) + }) +}); + +export const zHashTypePatch = z.object({ + data: z.object({ + type: z.literal('hashType'), + attributes: z.object({ + description: z.string().optional(), + isSalted: z.boolean().optional(), + isSlowHash: z.boolean().optional() + }) + }) +}); + +export const zHashTypeResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') + }).optional(), + data: z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() }); -export const zHashTypePatch = z.object({ +export const zHashTypePostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\HashType'), + id: z.int(), + type: z.literal('hashType'), attributes: z.object({ - description: z.string().optional(), - isSalted: z.boolean().optional(), - isSlowHash: z.boolean().optional() - }).optional() - }).optional() + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }) }); -export const zHashTypeResponse = z.object({ +export const zHashTypeListResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25'), + self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), first: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\HashType'), + id: z.int(), + type: z.literal('hashType'), attributes: z.object({ - description: z.string().optional(), - isSalted: z.boolean().optional(), - isSlowHash: z.boolean().optional() - }).optional() - })).optional(), + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + })), relationships: z.record(z.string(), z.unknown()).optional(), included: z.array(z.record(z.string(), z.unknown())).optional() }); -export const zHashTypePostPatchResponse = z.object({ +export const zHealthCheckAgentResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ + data: z.object({ + id: z.int(), + type: z.literal('healthCheckAgent'), + attributes: z.object({ + healthCheckId: z.int(), + agentId: z.int(), + status: z.int(), + cracked: z.int(), + numGpus: z.int(), + start: z.number(), + end: z.number(), + errors: z.string() + }) + }), + relationships: z.object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthcheckagents/relationships/agent'), + related: z.string().default('/api/v2/ui/healthcheckagents/agent') + }), + data: z.object({ + type: z.literal('agent'), + id: z.int() + }).nullish() + }), + healthCheck: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthcheckagents/relationships/healthCheck'), + related: z.string().default('/api/v2/ui/healthcheckagents/healthCheck') + }), + data: z.object({ + type: z.literal('healthCheck'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\HashType'), + type: z.literal('healthCheck').optional(), attributes: z.object({ - description: z.string().optional(), - isSalted: z.boolean().optional(), - isSlowHash: z.boolean().optional() + healthCheckId: z.int().optional(), + time: z.number().optional(), + status: z.int().optional(), + checkType: z.int().optional(), + hashtypeId: z.int().optional(), + crackerBinaryId: z.int().optional(), + expectedCracks: z.int().optional(), + attackCmd: z.string().optional() }).optional() })).optional() }); -export const zHealthCheckAgentResponse = z.object({ +export const zHealthCheckAgentListResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25'), + self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), first: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\HealthCheckAgent'), + id: z.int(), + type: z.literal('healthCheckAgent'), attributes: z.object({ - healthCheckId: z.int().optional(), - agentId: z.int().optional(), - status: z.int().optional(), - cracked: z.int().optional(), - numGpus: z.int().optional(), - start: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - end: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - errors: z.string().optional() - }).optional() - })).optional(), + healthCheckId: z.int(), + agentId: z.int(), + status: z.int(), + cracked: z.int(), + numGpus: z.int(), + start: z.number(), + end: z.number(), + errors: z.string() + }) + })), relationships: z.object({ agent: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/healthcheckagents/relationships/agent'), - related: z.string().optional().default('/api/v2/ui/healthcheckagents/agent') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/healthcheckagents/relationships/agent'), + related: z.string().default('/api/v2/ui/healthcheckagents/agent') + }), + data: z.object({ + type: z.literal('agent'), + id: z.int() + }).nullish() + }), healthCheck: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/healthcheckagents/relationships/healthCheck'), - related: z.string().optional().default('/api/v2/ui/healthcheckagents/healthCheck') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/healthcheckagents/relationships/healthCheck'), + related: z.string().default('/api/v2/ui/healthcheckagents/healthCheck') + }), + data: z.object({ + type: z.literal('healthCheck'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('healthCheck'), + type: z.literal('healthCheck').optional(), attributes: z.object({ healthCheckId: z.int().optional(), - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + time: z.number().optional(), status: z.int().optional(), checkType: z.int().optional(), hashtypeId: z.int().optional(), @@ -1846,86 +3143,98 @@ export const zHealthCheckAgentResponse = z.object({ export const zHealthCheckAgentRelationHealthCheck = z.object({ data: z.object({ - type: z.string().optional().default('healthCheck'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('healthCheck'), + id: z.int().default(1) + }) }); export const zHealthCheckAgentRelationHealthCheckGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('healthCheck'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('healthCheck'), + id: z.int().default(1) + }) }); export const zHealthCheckCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\HealthCheck'), + type: z.literal('healthCheck'), attributes: z.object({ checkType: z.int().optional(), hashtypeId: z.int().optional(), crackerBinaryId: z.int().optional() - }).optional() - }).optional() + }) + }) }); export const zHealthCheckPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\HealthCheck'), + type: z.literal('healthCheck'), attributes: z.object({ checkType: z.int().optional() - }).optional() - }).optional() + }) + }) }); export const zHealthCheckResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25'), + self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\HealthCheck'), + data: z.object({ + id: z.int(), + type: z.literal('healthCheck'), attributes: z.object({ - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - status: z.int().optional(), - checkType: z.int().optional(), - hashtypeId: z.int().optional(), - crackerBinaryId: z.int().optional(), - expectedCracks: z.int().optional(), - attackCmd: z.string().optional() - }).optional() - })).optional(), + time: z.number(), + status: z.int(), + checkType: z.int(), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() + }) + }), relationships: z.object({ crackerBinary: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/healthchecks/relationships/crackerBinary'), - related: z.string().optional().default('/api/v2/ui/healthchecks/crackerBinary') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/healthchecks/relationships/crackerBinary'), + related: z.string().default('/api/v2/ui/healthchecks/crackerBinary') + }), + data: z.object({ + type: z.literal('crackerBinary'), + id: z.int() + }).nullish() + }), hashType: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/healthchecks/relationships/hashType'), - related: z.string().optional().default('/api/v2/ui/healthchecks/hashType') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/healthchecks/relationships/hashType'), + related: z.string().default('/api/v2/ui/healthchecks/hashType') + }), + data: z.object({ + type: z.literal('hashType'), + id: z.int() + }).nullish() + }), healthCheckAgents: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/healthchecks/relationships/healthCheckAgents'), - related: z.string().optional().default('/api/v2/ui/healthchecks/healthCheckAgents') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/healthchecks/relationships/healthCheckAgents'), + related: z.string().default('/api/v2/ui/healthchecks/healthCheckAgents') + }), + data: z.array(z.object({ + type: z.literal('healthCheckAgent'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('healthCheckAgents'), + type: z.literal('healthCheckAgents').optional(), attributes: z.object({ healthCheckAgentId: z.int().optional(), healthCheckId: z.int().optional(), @@ -1933,8 +3242,8 @@ export const zHealthCheckResponse = z.object({ status: z.int().optional(), cracked: z.int().optional(), numGpus: z.int().optional(), - start: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - end: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + start: z.number().optional(), + end: z.number().optional(), errors: z.string().optional() }).optional() })).optional() @@ -1942,156 +3251,261 @@ export const zHealthCheckResponse = z.object({ export const zHealthCheckPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('healthCheck'), + attributes: z.object({ + time: z.number(), + status: z.int(), + checkType: z.int(), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() + }) + }) +}); + +export const zHealthCheckListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('healthCheck'), + attributes: z.object({ + time: z.number(), + status: z.int(), + checkType: z.int(), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() + }) + })), + relationships: z.object({ + crackerBinary: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks/relationships/crackerBinary'), + related: z.string().default('/api/v2/ui/healthchecks/crackerBinary') + }), + data: z.object({ + type: z.literal('crackerBinary'), + id: z.int() + }).nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks/relationships/hashType'), + related: z.string().default('/api/v2/ui/healthchecks/hashType') + }), + data: z.object({ + type: z.literal('hashType'), + id: z.int() + }).nullish() + }), + healthCheckAgents: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks/relationships/healthCheckAgents'), + related: z.string().default('/api/v2/ui/healthchecks/healthCheckAgents') + }), + data: z.array(z.object({ + type: z.literal('healthCheckAgent'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\HealthCheck'), + type: z.literal('healthCheckAgents').optional(), attributes: z.object({ - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + healthCheckAgentId: z.int().optional(), + healthCheckId: z.int().optional(), + agentId: z.int().optional(), status: z.int().optional(), - checkType: z.int().optional(), - hashtypeId: z.int().optional(), - crackerBinaryId: z.int().optional(), - expectedCracks: z.int().optional(), - attackCmd: z.string().optional() + cracked: z.int().optional(), + numGpus: z.int().optional(), + start: z.number().optional(), + end: z.number().optional(), + errors: z.string().optional() }).optional() })).optional() }); export const zHealthCheckRelationHealthCheckAgents = z.object({ data: z.array(z.object({ - type: z.string().optional().default('healthCheckAgents'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('healthCheckAgents'), + id: z.int().default(1) + })) }); export const zHealthCheckRelationHealthCheckAgentsGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('healthCheckAgents'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('healthCheckAgents'), + id: z.int().default(1) + })) }); export const zLogEntryCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\LogEntry'), - attributes: z.record(z.string(), z.unknown()).optional() - }).optional() + type: z.literal('logEntry'), + attributes: z.record(z.string(), z.unknown()) + }) }); export const zLogEntryPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\LogEntry'), - attributes: z.record(z.string(), z.unknown()).optional() - }).optional() + type: z.literal('logEntry'), + attributes: z.record(z.string(), z.unknown()) + }) }); export const zLogEntryResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/logentries?page[size]=25'), + self: z.string().default('/api/v2/ui/logentries?page[size]=25'), first: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\LogEntry'), + data: z.object({ + id: z.int(), + type: z.literal('logEntry'), attributes: z.object({ - issuer: z.string().optional(), - issuerId: z.string().optional(), - level: z.string().optional(), - message: z.string().optional(), - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() - }).optional() - })).optional(), + issuer: z.string(), + issuerId: z.string(), + level: z.string(), + message: z.string(), + time: z.number() + }) + }), relationships: z.record(z.string(), z.unknown()).optional(), included: z.array(z.record(z.string(), z.unknown())).optional() }); export const zLogEntryPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('logEntry'), + attributes: z.object({ + issuer: z.string(), + issuerId: z.string(), + level: z.string(), + message: z.string(), + time: z.number() + }) + }) +}); + +export const zLogEntryListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/logentries?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\LogEntry'), + id: z.int(), + type: z.literal('logEntry'), attributes: z.object({ - issuer: z.string().optional(), - issuerId: z.string().optional(), - level: z.string().optional(), - message: z.string().optional(), - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() - }).optional() - })).optional() + issuer: z.string(), + issuerId: z.string(), + level: z.string(), + message: z.string(), + time: z.number() + }) + })), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() }); export const zNotificationSettingCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\NotificationSetting'), + type: z.literal('notificationSetting'), attributes: z.object({ actionFilter: z.string().optional(), action: z.string().optional(), notification: z.string().optional(), receiver: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zNotificationSettingPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\NotificationSetting'), + type: z.literal('notificationSetting'), attributes: z.object({ action: z.string().optional(), isActive: z.boolean().optional(), notification: z.string().optional(), receiver: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zNotificationSettingResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/notifications?page[size]=25'), + self: z.string().default('/api/v2/ui/notifications?page[size]=25'), first: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\NotificationSetting'), + data: z.object({ + id: z.int(), + type: z.literal('notificationSetting'), attributes: z.object({ - action: z.string().optional(), - objectId: z.int().optional(), - notification: z.string().optional(), - userId: z.int().optional(), - receiver: z.string().optional(), - isActive: z.boolean().optional() - }).optional() - })).optional(), + action: z.string(), + objectId: z.int(), + notification: z.string(), + userId: z.int(), + receiver: z.string(), + isActive: z.boolean() + }) + }), relationships: z.object({ user: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/notifications/relationships/user'), - related: z.string().optional().default('/api/v2/ui/notifications/user') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/notifications/relationships/user'), + related: z.string().default('/api/v2/ui/notifications/user') + }), + data: z.object({ + type: z.literal('user'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('user'), + type: z.literal('user').optional(), attributes: z.object({ userId: z.int().optional(), name: z.string().optional(), @@ -2100,8 +3514,8 @@ export const zNotificationSettingResponse = z.object({ passwordSalt: z.string().optional(), isValid: z.boolean().optional(), isComputedPassword: z.boolean().optional(), - lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + lastLoginDate: z.number().optional(), + registeredSince: z.number().optional(), sessionLifetime: z.int().optional(), globalPermissionGroupId: z.int().optional(), yubikey: z.string().optional(), @@ -2115,40 +3529,100 @@ export const zNotificationSettingResponse = z.object({ export const zNotificationSettingPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('notificationSetting'), + attributes: z.object({ + action: z.string(), + objectId: z.int(), + notification: z.string(), + userId: z.int(), + receiver: z.string(), + isActive: z.boolean() + }) + }) +}); + +export const zNotificationSettingListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/notifications?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('notificationSetting'), + attributes: z.object({ + action: z.string(), + objectId: z.int(), + notification: z.string(), + userId: z.int(), + receiver: z.string(), + isActive: z.boolean() + }) + })), + relationships: z.object({ + user: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/notifications/relationships/user'), + related: z.string().default('/api/v2/ui/notifications/user') + }), + data: z.object({ + type: z.literal('user'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\NotificationSetting'), + type: z.literal('user').optional(), attributes: z.object({ - action: z.string().optional(), - objectId: z.int().optional(), - notification: z.string().optional(), userId: z.int().optional(), - receiver: z.string().optional(), - isActive: z.boolean().optional() + name: z.string().optional(), + email: z.string().optional(), + passwordHash: z.string().optional(), + passwordSalt: z.string().optional(), + isValid: z.boolean().optional(), + isComputedPassword: z.boolean().optional(), + lastLoginDate: z.number().optional(), + registeredSince: z.number().optional(), + sessionLifetime: z.int().optional(), + globalPermissionGroupId: z.int().optional(), + yubikey: z.string().optional(), + otp1: z.string().optional(), + otp2: z.string().optional(), + otp3: z.string().optional(), + otp4: z.string().optional() }).optional() })).optional() }); export const zNotificationSettingRelationUser = z.object({ data: z.object({ - type: z.string().optional().default('user'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('user'), + id: z.int().default(1) + }) }); export const zNotificationSettingRelationUserGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('user'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('user'), + id: z.int().default(1) + }) }); export const zPreprocessorCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Preprocessor'), + type: z.literal('preprocessor'), attributes: z.object({ name: z.string().optional(), url: z.string().optional(), @@ -2156,13 +3630,13 @@ export const zPreprocessorCreate = z.object({ keyspaceCommand: z.string().optional(), skipCommand: z.string().optional(), limitCommand: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zPreprocessorPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Preprocessor'), + type: z.literal('preprocessor'), attributes: z.object({ binaryName: z.string().optional(), keyspaceCommand: z.string().optional(), @@ -2170,60 +3644,88 @@ export const zPreprocessorPatch = z.object({ name: z.string().optional(), skipCommand: z.string().optional(), url: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zPreprocessorResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25'), + self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), first: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Preprocessor'), + data: z.object({ + id: z.int(), + type: z.literal('preprocessor'), attributes: z.object({ - name: z.string().optional(), - url: z.string().optional(), - binaryName: z.string().optional(), - keyspaceCommand: z.string().optional(), - skipCommand: z.string().optional(), - limitCommand: z.string().optional() - }).optional() - })).optional(), + name: z.string(), + url: z.string(), + binaryName: z.string(), + keyspaceCommand: z.string(), + skipCommand: z.string(), + limitCommand: z.string() + }) + }), relationships: z.record(z.string(), z.unknown()).optional(), included: z.array(z.record(z.string(), z.unknown())).optional() }); export const zPreprocessorPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('preprocessor'), + attributes: z.object({ + name: z.string(), + url: z.string(), + binaryName: z.string(), + keyspaceCommand: z.string(), + skipCommand: z.string(), + limitCommand: z.string() + }) + }) +}); + +export const zPreprocessorListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Preprocessor'), + id: z.int(), + type: z.literal('preprocessor'), attributes: z.object({ - name: z.string().optional(), - url: z.string().optional(), - binaryName: z.string().optional(), - keyspaceCommand: z.string().optional(), - skipCommand: z.string().optional(), - limitCommand: z.string().optional() - }).optional() - })).optional() + name: z.string(), + url: z.string(), + binaryName: z.string(), + keyspaceCommand: z.string(), + skipCommand: z.string(), + limitCommand: z.string() + }) + })), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() }); export const zPretaskCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Pretask'), + type: z.literal('pretask'), attributes: z.object({ files: z.array(z.int()).optional(), taskName: z.string().optional(), @@ -2238,13 +3740,13 @@ export const zPretaskCreate = z.object({ maxAgents: z.int().optional(), isMaskImport: z.boolean().optional(), crackerBinaryTypeId: z.int().optional() - }).optional() - }).optional() + }) + }) }); export const zPretaskPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Pretask'), + type: z.literal('pretask'), attributes: z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), @@ -2257,143 +3759,295 @@ export const zPretaskPatch = z.object({ priority: z.int().optional(), statusTimer: z.int().optional(), taskName: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zPretaskResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25'), + self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Pretask'), + data: z.object({ + id: z.int(), + type: z.literal('pretask'), attributes: z.object({ - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - isMaskImport: z.boolean().optional(), - crackerBinaryTypeId: z.int().optional() - }).optional() - })).optional(), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int(), + auxiliaryKeyspace: z.int().optional() + }) + }), relationships: z.object({ pretaskFiles: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/pretasks/relationships/pretaskFiles'), - related: z.string().optional().default('/api/v2/ui/pretasks/pretaskFiles') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/pretasks/relationships/pretaskFiles'), + related: z.string().default('/api/v2/ui/pretasks/pretaskFiles') + }), + data: z.array(z.object({ + type: z.literal('file'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('pretaskFiles'), + type: z.literal('pretaskFiles').optional(), attributes: z.object({ sourceType: z.string().optional(), sourceData: z.string().optional(), fileId: z.int().optional(), filename: z.string().optional(), - size: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + size: z.number().optional(), isSecret: z.boolean().optional(), fileType: z.int().optional(), accessGroupId: z.int().optional(), - lineCount: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + lineCount: z.number().optional() }).optional() })).optional() }); export const zPretaskPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('pretask'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int(), + auxiliaryKeyspace: z.int().optional() + }) + }) +}); + +export const zPretaskListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('pretask'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int(), + auxiliaryKeyspace: z.int().optional() + }) + })), + relationships: z.object({ + pretaskFiles: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/pretasks/relationships/pretaskFiles'), + related: z.string().default('/api/v2/ui/pretasks/pretaskFiles') + }), + data: z.array(z.object({ + type: z.literal('file'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Pretask'), + type: z.literal('pretaskFiles').optional(), attributes: z.object({ - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - isMaskImport: z.boolean().optional(), - crackerBinaryTypeId: z.int().optional() + sourceType: z.string().optional(), + sourceData: z.string().optional(), + fileId: z.int().optional(), + filename: z.string().optional(), + size: z.number().optional(), + isSecret: z.boolean().optional(), + fileType: z.int().optional(), + accessGroupId: z.int().optional(), + lineCount: z.number().optional() }).optional() })).optional() }); export const zPretaskRelationPretaskFiles = z.object({ data: z.array(z.object({ - type: z.string().optional().default('pretaskFiles'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('pretaskFiles'), + id: z.int().default(1) + })) }); export const zPretaskRelationPretaskFilesGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('pretaskFiles'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('pretaskFiles'), + id: z.int().default(1) + })) }); export const zSpeedResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/speeds?page[size]=25'), + self: z.string().default('/api/v2/ui/speeds?page[size]=25'), first: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ + data: z.object({ + id: z.int(), + type: z.literal('speed'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + speed: z.number(), + time: z.number() + }) + }), + relationships: z.object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/speeds/relationships/agent'), + related: z.string().default('/api/v2/ui/speeds/agent') + }), + data: z.object({ + type: z.literal('agent'), + id: z.int() + }).nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/speeds/relationships/task'), + related: z.string().default('/api/v2/ui/speeds/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Speed'), + type: z.literal('task').optional(), attributes: z.object({ - agentId: z.int().optional(), + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), taskId: z.int().optional(), - speed: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.number().optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), + isArchived: z.boolean().optional(), + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.number().optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() }).optional() - })).optional(), + })).optional() +}); + +export const zSpeedListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/speeds?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') + }).optional(), + data: z.array(z.object({ + id: z.int(), + type: z.literal('speed'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + speed: z.number(), + time: z.number() + }) + })), relationships: z.object({ agent: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/speeds/relationships/agent'), - related: z.string().optional().default('/api/v2/ui/speeds/agent') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/speeds/relationships/agent'), + related: z.string().default('/api/v2/ui/speeds/agent') + }), + data: z.object({ + type: z.literal('agent'), + id: z.int() + }).nullish() + }), task: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/speeds/relationships/task'), - related: z.string().optional().default('/api/v2/ui/speeds/task') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/speeds/relationships/task'), + related: z.string().default('/api/v2/ui/speeds/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('task'), + type: z.literal('task').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -2402,22 +4056,22 @@ export const zSpeedResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -2427,67 +4081,71 @@ export const zSpeedResponse = z.object({ export const zSpeedRelationTask = z.object({ data: z.object({ - type: z.string().optional().default('task'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zSpeedRelationTaskGetResponse = z.object({ data: z.object({ - type: z.string().optional().default('task'), - id: z.int().optional().default(1) - }).optional() + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zSupertaskCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + type: z.literal('supertask'), attributes: z.object({ pretasks: z.array(z.int()).optional(), supertaskName: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zSupertaskPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + type: z.literal('supertask'), attributes: z.object({ supertaskName: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zSupertaskResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25'), + self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + data: z.object({ + id: z.int(), + type: z.literal('supertask'), attributes: z.object({ - supertaskName: z.string().optional() - }).optional() - })).optional(), + supertaskName: z.string() + }) + }), relationships: z.object({ pretasks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/supertasks/relationships/pretasks'), - related: z.string().optional().default('/api/v2/ui/supertasks/pretasks') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/supertasks/relationships/pretasks'), + related: z.string().default('/api/v2/ui/supertasks/pretasks') + }), + data: z.array(z.object({ + type: z.literal('preTask'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('pretasks'), + type: z.literal('pretasks').optional(), attributes: z.object({ files: z.array(z.int()).optional(), pretaskId: z.int().optional(), @@ -2508,24 +4166,28 @@ export const zSupertaskResponse = z.object({ }); export const zSupertaskSingleResponse = z.object({ - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + data: z.object({ + id: z.int(), + type: z.literal('supertask'), attributes: z.object({ - supertaskName: z.string().optional() - }).optional() - })).optional(), + supertaskName: z.string() + }) + }), relationships: z.object({ pretasks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/supertasks/relationships/pretasks'), - related: z.string().optional().default('/api/v2/ui/supertasks/pretasks') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/supertasks/relationships/pretasks'), + related: z.string().default('/api/v2/ui/supertasks/pretasks') + }), + data: z.array(z.object({ + type: z.literal('preTask'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('pretasks'), + type: z.literal('pretasks').optional(), attributes: z.object({ files: z.array(z.int()).optional(), pretaskId: z.int().optional(), @@ -2547,35 +4209,88 @@ export const zSupertaskSingleResponse = z.object({ export const zSupertaskPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('supertask'), + attributes: z.object({ + supertaskName: z.string() + }) + }) +}); + +export const zSupertaskListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('supertask'), + attributes: z.object({ + supertaskName: z.string() + }) + })), + relationships: z.object({ + pretasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/supertasks/relationships/pretasks'), + related: z.string().default('/api/v2/ui/supertasks/pretasks') + }), + data: z.array(z.object({ + type: z.literal('preTask'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Supertask'), + type: z.literal('pretasks').optional(), attributes: z.object({ - supertaskName: z.string().optional() + files: z.array(z.int()).optional(), + pretaskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + priority: z.int().optional(), + maxAgents: z.int().optional(), + isMaskImport: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional() }).optional() })).optional() }); export const zSupertaskRelationPretasks = z.object({ data: z.array(z.object({ - type: z.string().optional().default('pretasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('pretasks'), + id: z.int().default(1) + })) }); export const zSupertaskRelationPretasksGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('pretasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('pretasks'), + id: z.int().default(1) + })) }); export const zTaskCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Task'), + type: z.literal('task'), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -2589,23 +4304,23 @@ export const zTaskCreate = z.object({ isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zTaskPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\Task'), + type: z.literal('task'), attributes: z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), @@ -2618,226 +4333,425 @@ export const zTaskPatch = z.object({ priority: z.int().optional(), statusTimer: z.int().optional(), taskName: z.string().optional() + }) + }) +}); + +export const zTaskResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/tasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') + }).optional(), + data: z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string(), + activeAgents: z.int().optional(), + dispatched: z.string().optional(), + searched: z.string().optional(), + status: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]).optional(), + estimatedTime: z.int().optional(), + timeSpent: z.int().optional(), + currentSpeed: z.int().optional(), + cprogress: z.int().optional() + }) + }), + relationships: z.object({ + assignedAgents: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/assignedAgents'), + related: z.string().default('/api/v2/ui/tasks/assignedAgents') + }), + data: z.array(z.object({ + type: z.literal('agent'), + id: z.int() + })).optional() + }), + crackerBinary: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinary'), + related: z.string().default('/api/v2/ui/tasks/crackerBinary') + }), + data: z.object({ + type: z.literal('crackerBinary'), + id: z.int() + }).nullish() + }), + crackerBinaryType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinaryType'), + related: z.string().default('/api/v2/ui/tasks/crackerBinaryType') + }), + data: z.object({ + type: z.literal('crackerBinaryType'), + id: z.int() + }).nullish() + }), + files: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/files'), + related: z.string().default('/api/v2/ui/tasks/files') + }), + data: z.array(z.object({ + type: z.literal('file'), + id: z.int() + })).optional() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/hashlist'), + related: z.string().default('/api/v2/ui/tasks/hashlist') + }), + data: z.object({ + type: z.literal('hashlist'), + id: z.int() + }).nullish() + }), + speeds: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/speeds'), + related: z.string().default('/api/v2/ui/tasks/speeds') + }), + data: z.array(z.object({ + type: z.literal('speed'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ + id: z.int().optional(), + type: z.literal('speeds').optional(), + attributes: z.object({ + speedId: z.int().optional(), + agentId: z.int().optional(), + taskId: z.int().optional(), + speed: z.number().optional(), + time: z.number().optional() }).optional() - }).optional() + })).optional() +}); + +export const zTaskPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string(), + activeAgents: z.int().optional(), + dispatched: z.string().optional(), + searched: z.string().optional(), + status: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]).optional(), + estimatedTime: z.int().optional(), + timeSpent: z.int().optional(), + currentSpeed: z.int().optional(), + cprogress: z.int().optional() + }) + }) }); -export const zTaskResponse = z.object({ +export const zTaskListResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/tasks?page[size]=25'), + self: z.string().default('/api/v2/ui/tasks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Task'), + id: z.int(), + type: z.literal('task'), attributes: z.object({ - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional(), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string(), + activeAgents: z.int().optional(), + dispatched: z.string().optional(), + searched: z.string().optional(), + status: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]).optional(), + estimatedTime: z.int().optional(), + timeSpent: z.int().optional(), + currentSpeed: z.int().optional(), + cprogress: z.int().optional() + }) + })), relationships: z.object({ assignedAgents: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/tasks/relationships/assignedAgents'), - related: z.string().optional().default('/api/v2/ui/tasks/assignedAgents') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/tasks/relationships/assignedAgents'), + related: z.string().default('/api/v2/ui/tasks/assignedAgents') + }), + data: z.array(z.object({ + type: z.literal('agent'), + id: z.int() + })).optional() + }), crackerBinary: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/tasks/relationships/crackerBinary'), - related: z.string().optional().default('/api/v2/ui/tasks/crackerBinary') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinary'), + related: z.string().default('/api/v2/ui/tasks/crackerBinary') + }), + data: z.object({ + type: z.literal('crackerBinary'), + id: z.int() + }).nullish() + }), crackerBinaryType: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/tasks/relationships/crackerBinaryType'), - related: z.string().optional().default('/api/v2/ui/tasks/crackerBinaryType') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinaryType'), + related: z.string().default('/api/v2/ui/tasks/crackerBinaryType') + }), + data: z.object({ + type: z.literal('crackerBinaryType'), + id: z.int() + }).nullish() + }), files: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/tasks/relationships/files'), - related: z.string().optional().default('/api/v2/ui/tasks/files') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/tasks/relationships/files'), + related: z.string().default('/api/v2/ui/tasks/files') + }), + data: z.array(z.object({ + type: z.literal('file'), + id: z.int() + })).optional() + }), hashlist: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/tasks/relationships/hashlist'), - related: z.string().optional().default('/api/v2/ui/tasks/hashlist') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/tasks/relationships/hashlist'), + related: z.string().default('/api/v2/ui/tasks/hashlist') + }), + data: z.object({ + type: z.literal('hashlist'), + id: z.int() + }).nullish() + }), speeds: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/tasks/relationships/speeds'), - related: z.string().optional().default('/api/v2/ui/tasks/speeds') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/tasks/relationships/speeds'), + related: z.string().default('/api/v2/ui/tasks/speeds') + }), + data: z.array(z.object({ + type: z.literal('speed'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('speeds'), + type: z.literal('speeds').optional(), attributes: z.object({ speedId: z.int().optional(), agentId: z.int().optional(), taskId: z.int().optional(), - speed: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() - }).optional() - })).optional() -}); - -export const zTaskPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().optional().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\Task'), - attributes: z.object({ - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() + speed: z.number().optional(), + time: z.number().optional() }).optional() })).optional() }); export const zTaskRelationSpeeds = z.object({ data: z.array(z.object({ - type: z.string().optional().default('speeds'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('speeds'), + id: z.int().default(1) + })) }); export const zTaskRelationSpeedsGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('speeds'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('speeds'), + id: z.int().default(1) + })) }); export const zTaskWrapperPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\TaskWrapper'), + type: z.literal('taskWrapper'), attributes: z.object({ accessGroupId: z.int().optional(), isArchived: z.boolean().optional(), maxAgents: z.int().optional(), priority: z.int().optional(), taskWrapperName: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zTaskWrapperResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25'), + self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), first: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\TaskWrapper'), + data: z.object({ + id: z.int(), + type: z.literal('taskWrapper'), attributes: z.object({ - priority: z.int().optional(), - maxAgents: z.int().optional(), - taskType: z.union([z.literal(0), z.literal(1)]).optional(), - hashlistId: z.int().optional(), - accessGroupId: z.int().optional(), - taskWrapperName: z.string().optional(), - isArchived: z.boolean().optional(), - cracked: z.int().optional() - }).optional() - })).optional(), + priority: z.int(), + maxAgents: z.int(), + taskType: z.union([z.literal(0), z.literal(1)]), + hashlistId: z.int(), + accessGroupId: z.int(), + taskWrapperName: z.string(), + isArchived: z.boolean(), + cracked: z.int() + }) + }), relationships: z.object({ accessGroup: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/accessGroup') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/taskwrappers/accessGroup') + }), + data: z.object({ + type: z.literal('accessGroup'), + id: z.int() + }).nullish() + }), hashType: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/hashType'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/hashType') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashType'), + related: z.string().default('/api/v2/ui/taskwrappers/hashType') + }), + data: z.object({ + type: z.literal('hashType'), + id: z.int() + }).nullish() + }), hashlist: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/hashlist'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/hashlist') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashlist'), + related: z.string().default('/api/v2/ui/taskwrappers/hashlist') + }), + data: z.object({ + type: z.literal('hashlist'), + id: z.int() + }).nullish() + }), task: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/task'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/task') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/taskwrappers/relationships/task'), + related: z.string().default('/api/v2/ui/taskwrappers/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }), tasks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/tasks'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/tasks') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/taskwrappers/relationships/tasks'), + related: z.string().default('/api/v2/ui/taskwrappers/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('tasks'), + type: z.literal('tasks').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -2846,22 +4760,22 @@ export const zTaskWrapperResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -2870,55 +4784,75 @@ export const zTaskWrapperResponse = z.object({ }); export const zTaskWrapperSingleResponse = z.object({ - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\TaskWrapper'), + data: z.object({ + id: z.int(), + type: z.literal('taskWrapper'), attributes: z.object({ - priority: z.int().optional(), - maxAgents: z.int().optional(), - taskType: z.union([z.literal(0), z.literal(1)]).optional(), - hashlistId: z.int().optional(), - accessGroupId: z.int().optional(), - taskWrapperName: z.string().optional(), - isArchived: z.boolean().optional(), - cracked: z.int().optional() - }).optional() - })).optional(), + priority: z.int(), + maxAgents: z.int(), + taskType: z.union([z.literal(0), z.literal(1)]), + hashlistId: z.int(), + accessGroupId: z.int(), + taskWrapperName: z.string(), + isArchived: z.boolean(), + cracked: z.int() + }) + }), relationships: z.object({ accessGroup: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/accessGroup') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/taskwrappers/accessGroup') + }), + data: z.object({ + type: z.literal('accessGroup'), + id: z.int() + }).nullish() + }), hashType: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/hashType'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/hashType') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashType'), + related: z.string().default('/api/v2/ui/taskwrappers/hashType') + }), + data: z.object({ + type: z.literal('hashType'), + id: z.int() + }).nullish() + }), hashlist: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/hashlist'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/hashlist') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashlist'), + related: z.string().default('/api/v2/ui/taskwrappers/hashlist') + }), + data: z.object({ + type: z.literal('hashlist'), + id: z.int() + }).nullish() + }), task: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/task'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/task') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/taskwrappers/relationships/task'), + related: z.string().default('/api/v2/ui/taskwrappers/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }), tasks: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/taskwrappers/relationships/tasks'), - related: z.string().optional().default('/api/v2/ui/taskwrappers/tasks') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/taskwrappers/relationships/tasks'), + related: z.string().default('/api/v2/ui/taskwrappers/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('tasks'), + type: z.literal('tasks').optional(), attributes: z.object({ hashlistId: z.int().optional(), files: z.array(z.int()).optional(), @@ -2927,22 +4861,22 @@ export const zTaskWrapperSingleResponse = z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), statusTimer: z.int().optional(), - keyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - keyspaceProgress: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), color: z.string().optional(), isSmall: z.boolean().optional(), isCpuTask: z.boolean().optional(), useNewBench: z.boolean().optional(), - skipKeyspace: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + skipKeyspace: z.number().optional(), crackerBinaryId: z.int().optional(), crackerBinaryTypeId: z.int().optional(), taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), notes: z.string().optional(), staticChunks: z.int().optional(), - chunkSize: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), + chunkSize: z.number().optional(), forcePipe: z.boolean().optional(), preprocessorId: z.int().optional(), preprocessorCommand: z.string().optional() @@ -2952,112 +4886,230 @@ export const zTaskWrapperSingleResponse = z.object({ export const zTaskWrapperPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('taskWrapper'), + attributes: z.object({ + priority: z.int(), + maxAgents: z.int(), + taskType: z.union([z.literal(0), z.literal(1)]), + hashlistId: z.int(), + accessGroupId: z.int(), + taskWrapperName: z.string(), + isArchived: z.boolean(), + cracked: z.int() + }) + }) +}); + +export const zTaskWrapperListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('taskWrapper'), + attributes: z.object({ + priority: z.int(), + maxAgents: z.int(), + taskType: z.union([z.literal(0), z.literal(1)]), + hashlistId: z.int(), + accessGroupId: z.int(), + taskWrapperName: z.string(), + isArchived: z.boolean(), + cracked: z.int() + }) + })), + relationships: z.object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/taskwrappers/accessGroup') + }), + data: z.object({ + type: z.literal('accessGroup'), + id: z.int() + }).nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashType'), + related: z.string().default('/api/v2/ui/taskwrappers/hashType') + }), + data: z.object({ + type: z.literal('hashType'), + id: z.int() + }).nullish() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashlist'), + related: z.string().default('/api/v2/ui/taskwrappers/hashlist') + }), + data: z.object({ + type: z.literal('hashlist'), + id: z.int() + }).nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/task'), + related: z.string().default('/api/v2/ui/taskwrappers/task') + }), + data: z.object({ + type: z.literal('task'), + id: z.int() + }).nullish() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/tasks'), + related: z.string().default('/api/v2/ui/taskwrappers/tasks') + }), + data: z.array(z.object({ + type: z.literal('task'), + id: z.int() + })).optional() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\TaskWrapper'), + type: z.literal('tasks').optional(), attributes: z.object({ + hashlistId: z.int().optional(), + files: z.array(z.int()).optional(), + taskId: z.int().optional(), + taskName: z.string().optional(), + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + statusTimer: z.int().optional(), + keyspace: z.number().optional(), + keyspaceProgress: z.number().optional(), priority: z.int().optional(), maxAgents: z.int().optional(), - taskType: z.union([z.literal(0), z.literal(1)]).optional(), - hashlistId: z.int().optional(), - accessGroupId: z.int().optional(), - taskWrapperName: z.string().optional(), + color: z.string().optional(), + isSmall: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + useNewBench: z.boolean().optional(), + skipKeyspace: z.number().optional(), + crackerBinaryId: z.int().optional(), + crackerBinaryTypeId: z.int().optional(), + taskWrapperId: z.int().optional(), isArchived: z.boolean().optional(), - cracked: z.int().optional() + notes: z.string().optional(), + staticChunks: z.int().optional(), + chunkSize: z.number().optional(), + forcePipe: z.boolean().optional(), + preprocessorId: z.int().optional(), + preprocessorCommand: z.string().optional() }).optional() })).optional() }); export const zTaskWrapperRelationTasks = z.object({ data: z.array(z.object({ - type: z.string().optional().default('tasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('tasks'), + id: z.int().default(1) + })) }); export const zTaskWrapperRelationTasksGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('tasks'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('tasks'), + id: z.int().default(1) + })) }); export const zUserCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\User'), + type: z.literal('user'), attributes: z.object({ name: z.string().optional(), email: z.string().optional(), globalPermissionGroupId: z.int().optional() - }).optional() - }).optional() + }) + }) }); export const zUserPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\User'), + type: z.literal('user'), attributes: z.object({ email: z.string().optional(), globalPermissionGroupId: z.int().optional(), isValid: z.boolean().optional(), sessionLifetime: z.int().optional() - }).optional() - }).optional() + }) + }) }); export const zUserResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/users?page[size]=25'), + self: z.string().default('/api/v2/ui/users?page[size]=25'), first: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\User'), + data: z.object({ + id: z.int(), + type: z.literal('user'), attributes: z.object({ - name: z.string().optional(), - email: z.string().optional(), - passwordHash: z.string().optional(), - passwordSalt: z.string().optional(), - isValid: z.boolean().optional(), - isComputedPassword: z.boolean().optional(), - lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - sessionLifetime: z.int().optional(), - globalPermissionGroupId: z.int().optional(), - yubikey: z.string().optional(), - otp1: z.string().optional(), - otp2: z.string().optional(), - otp3: z.string().optional(), - otp4: z.string().optional() - }).optional() - })).optional(), + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }), relationships: z.object({ accessGroups: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/users/relationships/accessGroups'), - related: z.string().optional().default('/api/v2/ui/users/accessGroups') - }).optional() - }).optional(), + self: z.string().default('/api/v2/ui/users/relationships/accessGroups'), + related: z.string().default('/api/v2/ui/users/accessGroups') + }), + data: z.array(z.object({ + type: z.literal('accessGroup'), + id: z.int() + })).optional() + }), globalPermissionGroup: z.object({ links: z.object({ - self: z.string().optional().default('/api/v2/ui/users/relationships/globalPermissionGroup'), - related: z.string().optional().default('/api/v2/ui/users/globalPermissionGroup') - }).optional() - }).optional() + self: z.string().default('/api/v2/ui/users/relationships/globalPermissionGroup'), + related: z.string().default('/api/v2/ui/users/globalPermissionGroup') + }), + data: z.object({ + type: z.literal('globalPermissionGroup'), + id: z.int() + }).nullish() + }) }).optional(), included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('accessGroups'), + type: z.literal('accessGroups').optional(), attributes: z.object({ accessGroupId: z.int().optional(), groupName: z.string().optional() @@ -3067,101 +5119,186 @@ export const zUserResponse = z.object({ export const zUserPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }) +}); + +export const zUserListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/users?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + })), + relationships: z.object({ + accessGroups: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/users/relationships/accessGroups'), + related: z.string().default('/api/v2/ui/users/accessGroups') + }), + data: z.array(z.object({ + type: z.literal('accessGroup'), + id: z.int() + })).optional() + }), + globalPermissionGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/users/relationships/globalPermissionGroup'), + related: z.string().default('/api/v2/ui/users/globalPermissionGroup') + }), + data: z.object({ + type: z.literal('globalPermissionGroup'), + id: z.int() + }).nullish() + }) + }).optional(), + included: z.array(z.object({ id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\User'), + type: z.literal('accessGroups').optional(), attributes: z.object({ - name: z.string().optional(), - email: z.string().optional(), - passwordHash: z.string().optional(), - passwordSalt: z.string().optional(), - isValid: z.boolean().optional(), - isComputedPassword: z.boolean().optional(), - lastLoginDate: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - registeredSince: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional(), - sessionLifetime: z.int().optional(), - globalPermissionGroupId: z.int().optional(), - yubikey: z.string().optional(), - otp1: z.string().optional(), - otp2: z.string().optional(), - otp3: z.string().optional(), - otp4: z.string().optional() + accessGroupId: z.int().optional(), + groupName: z.string().optional() }).optional() })).optional() }); export const zUserRelationAccessGroups = z.object({ data: z.array(z.object({ - type: z.string().optional().default('accessGroups'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('accessGroups'), + id: z.int().default(1) + })) }); export const zUserRelationAccessGroupsGetResponse = z.object({ data: z.array(z.object({ - type: z.string().optional().default('accessGroups'), - id: z.int().optional().default(1) - })).optional() + type: z.literal('accessGroups'), + id: z.int().default(1) + })) }); export const zRegVoucherCreate = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\RegVoucher'), + type: z.literal('regVoucher'), attributes: z.object({ voucher: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zRegVoucherPatch = z.object({ data: z.object({ - type: z.string().optional().default('topolis\\dba\\models\\RegVoucher'), + type: z.literal('regVoucher'), attributes: z.object({ voucher: z.string().optional() - }).optional() - }).optional() + }) + }) }); export const zRegVoucherResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') - }).optional(), + }), links: z.object({ - self: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25'), + self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), first: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=500'), next: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), previous: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') }).optional(), - data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\RegVoucher'), + data: z.object({ + id: z.int(), + type: z.literal('regVoucher'), attributes: z.object({ - voucher: z.string().optional(), - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() - }).optional() - })).optional(), + voucher: z.string(), + time: z.number() + }) + }), relationships: z.record(z.string(), z.unknown()).optional(), included: z.array(z.record(z.string(), z.unknown())).optional() }); export const zRegVoucherPostPatchResponse = z.object({ jsonapi: z.object({ - version: z.string().optional().default('1.1'), + version: z.string().default('1.1'), + ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + data: z.object({ + id: z.int(), + type: z.literal('regVoucher'), + attributes: z.object({ + voucher: z.string(), + time: z.number() + }) + }) +}); + +export const zRegVoucherListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + }), + links: z.object({ + self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=500'), + next: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), + previous: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ - id: z.int().optional(), - type: z.string().optional().default('topolis\\dba\\models\\RegVoucher'), + id: z.int(), + type: z.literal('regVoucher'), attributes: z.object({ - voucher: z.string().optional(), - time: z.coerce.bigint().min(BigInt('-9223372036854775808'), { error: 'Invalid value: Expected int64 to be >= -9223372036854775808' }).max(BigInt('9223372036854775807'), { error: 'Invalid value: Expected int64 to be <= 9223372036854775807' }).optional() - }).optional() - })).optional() + voucher: z.string(), + time: z.number() + }) + })), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.record(z.string(), z.unknown())).optional() }); export const zAbortChunkHelperApi = z.object({ @@ -3361,8 +5498,8 @@ export const zUnassignAgentHelperApiResponse = z.array(z.object({ })); export const zToken = z.object({ - token: z.string().optional(), - expires: z.int().optional() + token: z.string(), + expires: z.int() }); export const zTokenRequest = z.array(z.string()); @@ -3388,7 +5525,7 @@ export const zGetAccessgroupsData = z.object({ /** * successful operation */ -export const zGetAccessgroupsResponse = z.array(zAccessGroupResponse); +export const zGetAccessgroupsResponse = zAccessGroupListResponse; export const zPatchAccessgroupsData = z.object({ body: z.never().optional(), @@ -3422,7 +5559,7 @@ export const zGetAccessgroupsCountData = z.object({ /** * successful operation */ -export const zGetAccessgroupsCountResponse = z.array(zAccessGroupResponse); +export const zGetAccessgroupsCountResponse = zAccessGroupListResponse; export const zGetAccessgroupsByIdByRelationData = z.object({ body: z.never().optional(), @@ -3556,7 +5693,7 @@ export const zGetAgentsData = z.object({ /** * successful operation */ -export const zGetAgentsResponse = z.array(zAgentResponse); +export const zGetAgentsResponse = zAgentListResponse; export const zPatchAgentsData = z.object({ body: z.never().optional(), @@ -3579,7 +5716,7 @@ export const zGetAgentsCountData = z.object({ /** * successful operation */ -export const zGetAgentsCountResponse = z.array(zAgentResponse); +export const zGetAgentsCountResponse = zAgentListResponse; export const zGetAgentsByIdByRelationData = z.object({ body: z.never().optional(), @@ -3713,7 +5850,7 @@ export const zGetAgentassignmentsData = z.object({ /** * successful operation */ -export const zGetAgentassignmentsResponse = z.array(zAssignmentResponse); +export const zGetAgentassignmentsResponse = zAssignmentListResponse; export const zPatchAgentassignmentsData = z.object({ body: z.never().optional(), @@ -3747,7 +5884,7 @@ export const zGetAgentassignmentsCountData = z.object({ /** * successful operation */ -export const zGetAgentassignmentsCountResponse = z.array(zAssignmentResponse); +export const zGetAgentassignmentsCountResponse = zAssignmentListResponse; export const zGetAgentassignmentsByIdByRelationData = z.object({ body: z.never().optional(), @@ -3853,7 +5990,7 @@ export const zGetAgentbinariesData = z.object({ /** * successful operation */ -export const zGetAgentbinariesResponse = z.array(zAgentBinaryResponse); +export const zGetAgentbinariesResponse = zAgentBinaryListResponse; export const zPatchAgentbinariesData = z.object({ body: z.never().optional(), @@ -3887,7 +6024,7 @@ export const zGetAgentbinariesCountData = z.object({ /** * successful operation */ -export const zGetAgentbinariesCountResponse = z.array(zAgentBinaryResponse); +export const zGetAgentbinariesCountResponse = zAgentBinaryListResponse; export const zDeleteAgentbinariesByIdData = z.object({ body: z.record(z.string(), z.unknown()), @@ -3951,7 +6088,7 @@ export const zGetAgenterrorsData = z.object({ /** * successful operation */ -export const zGetAgenterrorsResponse = z.array(zAgentErrorResponse); +export const zGetAgenterrorsResponse = zAgentErrorListResponse; export const zGetAgenterrorsCountData = z.object({ body: z.never().optional(), @@ -3968,7 +6105,7 @@ export const zGetAgenterrorsCountData = z.object({ /** * successful operation */ -export const zGetAgenterrorsCountResponse = z.array(zAgentErrorResponse); +export const zGetAgenterrorsCountResponse = zAgentErrorListResponse; export const zGetAgenterrorsByIdByRelationData = z.object({ body: z.never().optional(), @@ -4061,7 +6198,7 @@ export const zGetAgentstatsData = z.object({ /** * successful operation */ -export const zGetAgentstatsResponse = z.array(zAgentStatResponse); +export const zGetAgentstatsResponse = zAgentStatListResponse; export const zGetAgentstatsCountData = z.object({ body: z.never().optional(), @@ -4078,7 +6215,7 @@ export const zGetAgentstatsCountData = z.object({ /** * successful operation */ -export const zGetAgentstatsCountResponse = z.array(zAgentStatResponse); +export const zGetAgentstatsCountResponse = zAgentStatListResponse; export const zDeleteAgentstatsByIdData = z.object({ body: z.record(z.string(), z.unknown()), @@ -4129,7 +6266,7 @@ export const zGetApiTokensData = z.object({ /** * successful operation */ -export const zGetApiTokensResponse = z.array(zJwtApiKeyResponse); +export const zGetApiTokensResponse = zJwtApiKeyListResponse; export const zPatchApiTokensData = z.object({ body: z.never().optional(), @@ -4163,7 +6300,7 @@ export const zGetApiTokensCountData = z.object({ /** * successful operation */ -export const zGetApiTokensCountResponse = z.array(zJwtApiKeyResponse); +export const zGetApiTokensCountResponse = zJwtApiKeyListResponse; export const zGetApiTokensByIdByRelationData = z.object({ body: z.never().optional(), @@ -4263,7 +6400,7 @@ export const zGetChunksData = z.object({ /** * successful operation */ -export const zGetChunksResponse = z.array(zChunkResponse); +export const zGetChunksResponse = zChunkListResponse; export const zGetChunksCountData = z.object({ body: z.never().optional(), @@ -4280,7 +6417,7 @@ export const zGetChunksCountData = z.object({ /** * successful operation */ -export const zGetChunksCountResponse = z.array(zChunkResponse); +export const zGetChunksCountResponse = zChunkListResponse; export const zGetChunksByIdByRelationData = z.object({ body: z.never().optional(), @@ -4354,7 +6491,7 @@ export const zGetConfigsData = z.object({ /** * successful operation */ -export const zGetConfigsResponse = z.array(zConfigResponse); +export const zGetConfigsResponse = zConfigListResponse; export const zPatchConfigsData = z.object({ body: z.never().optional(), @@ -4377,7 +6514,7 @@ export const zGetConfigsCountData = z.object({ /** * successful operation */ -export const zGetConfigsCountResponse = z.array(zConfigResponse); +export const zGetConfigsCountResponse = zConfigListResponse; export const zGetConfigsByIdByRelationData = z.object({ body: z.never().optional(), @@ -4464,7 +6601,7 @@ export const zGetConfigsectionsData = z.object({ /** * successful operation */ -export const zGetConfigsectionsResponse = z.array(zConfigSectionResponse); +export const zGetConfigsectionsResponse = zConfigSectionListResponse; export const zGetConfigsectionsCountData = z.object({ body: z.never().optional(), @@ -4481,7 +6618,7 @@ export const zGetConfigsectionsCountData = z.object({ /** * successful operation */ -export const zGetConfigsectionsCountResponse = z.array(zConfigSectionResponse); +export const zGetConfigsectionsCountResponse = zConfigSectionListResponse; export const zGetConfigsectionsByIdData = z.object({ body: z.never().optional(), @@ -4519,7 +6656,7 @@ export const zGetCrackersData = z.object({ /** * successful operation */ -export const zGetCrackersResponse = z.array(zCrackerBinaryResponse); +export const zGetCrackersResponse = zCrackerBinaryListResponse; export const zPatchCrackersData = z.object({ body: z.never().optional(), @@ -4553,7 +6690,7 @@ export const zGetCrackersCountData = z.object({ /** * successful operation */ -export const zGetCrackersCountResponse = z.array(zCrackerBinaryResponse); +export const zGetCrackersCountResponse = zCrackerBinaryListResponse; export const zGetCrackersByIdByRelationData = z.object({ body: z.never().optional(), @@ -4687,7 +6824,7 @@ export const zGetCrackertypesData = z.object({ /** * successful operation */ -export const zGetCrackertypesResponse = z.array(zCrackerBinaryTypeResponse); +export const zGetCrackertypesResponse = zCrackerBinaryTypeListResponse; export const zPatchCrackertypesData = z.object({ body: z.never().optional(), @@ -4721,7 +6858,7 @@ export const zGetCrackertypesCountData = z.object({ /** * successful operation */ -export const zGetCrackertypesCountResponse = z.array(zCrackerBinaryTypeResponse); +export const zGetCrackertypesCountResponse = zCrackerBinaryTypeListResponse; export const zGetCrackertypesByIdByRelationData = z.object({ body: z.never().optional(), @@ -4855,7 +6992,7 @@ export const zGetFilesData = z.object({ /** * successful operation */ -export const zGetFilesResponse = z.array(zFileResponse); +export const zGetFilesResponse = zFileListResponse; export const zPatchFilesData = z.object({ body: z.never().optional(), @@ -4889,7 +7026,7 @@ export const zGetFilesCountData = z.object({ /** * successful operation */ -export const zGetFilesCountResponse = z.array(zFileResponse); +export const zGetFilesCountResponse = zFileListResponse; export const zGetFilesByIdByRelationData = z.object({ body: z.never().optional(), @@ -4995,7 +7132,7 @@ export const zGetGlobalpermissiongroupsData = z.object({ /** * successful operation */ -export const zGetGlobalpermissiongroupsResponse = z.array(zRightGroupResponse); +export const zGetGlobalpermissiongroupsResponse = zRightGroupListResponse; export const zPatchGlobalpermissiongroupsData = z.object({ body: z.never().optional(), @@ -5029,7 +7166,7 @@ export const zGetGlobalpermissiongroupsCountData = z.object({ /** * successful operation */ -export const zGetGlobalpermissiongroupsCountResponse = z.array(zRightGroupResponse); +export const zGetGlobalpermissiongroupsCountResponse = zRightGroupListResponse; export const zGetGlobalpermissiongroupsByIdByRelationData = z.object({ body: z.never().optional(), @@ -5157,7 +7294,7 @@ export const zGetHashesData = z.object({ /** * successful operation */ -export const zGetHashesResponse = z.array(zHashResponse); +export const zGetHashesResponse = zHashListResponse; export const zGetHashesCountData = z.object({ body: z.never().optional(), @@ -5174,7 +7311,7 @@ export const zGetHashesCountData = z.object({ /** * successful operation */ -export const zGetHashesCountResponse = z.array(zHashResponse); +export const zGetHashesCountResponse = zHashListResponse; export const zGetHashesByIdByRelationData = z.object({ body: z.never().optional(), @@ -5254,7 +7391,7 @@ export const zGetHashlistsData = z.object({ /** * successful operation */ -export const zGetHashlistsResponse = z.array(zHashlistResponse); +export const zGetHashlistsResponse = zHashlistListResponse; export const zPatchHashlistsData = z.object({ body: z.never().optional(), @@ -5288,7 +7425,7 @@ export const zGetHashlistsCountData = z.object({ /** * successful operation */ -export const zGetHashlistsCountResponse = z.array(zHashlistResponse); +export const zGetHashlistsCountResponse = zHashlistListResponse; export const zGetHashlistsByIdByRelationData = z.object({ body: z.never().optional(), @@ -5422,7 +7559,7 @@ export const zGetHashtypesData = z.object({ /** * successful operation */ -export const zGetHashtypesResponse = z.array(zHashTypeResponse); +export const zGetHashtypesResponse = zHashTypeListResponse; export const zPatchHashtypesData = z.object({ body: z.never().optional(), @@ -5456,7 +7593,7 @@ export const zGetHashtypesCountData = z.object({ /** * successful operation */ -export const zGetHashtypesCountResponse = z.array(zHashTypeResponse); +export const zGetHashtypesCountResponse = zHashTypeListResponse; export const zDeleteHashtypesByIdData = z.object({ body: z.record(z.string(), z.unknown()), @@ -5514,7 +7651,7 @@ export const zGetHealthcheckagentsData = z.object({ /** * successful operation */ -export const zGetHealthcheckagentsResponse = z.array(zHealthCheckAgentResponse); +export const zGetHealthcheckagentsResponse = zHealthCheckAgentListResponse; export const zGetHealthcheckagentsCountData = z.object({ body: z.never().optional(), @@ -5531,7 +7668,7 @@ export const zGetHealthcheckagentsCountData = z.object({ /** * successful operation */ -export const zGetHealthcheckagentsCountResponse = z.array(zHealthCheckAgentResponse); +export const zGetHealthcheckagentsCountResponse = zHealthCheckAgentListResponse; export const zGetHealthcheckagentsByIdByRelationData = z.object({ body: z.never().optional(), @@ -5611,7 +7748,7 @@ export const zGetHealthchecksData = z.object({ /** * successful operation */ -export const zGetHealthchecksResponse = z.array(zHealthCheckResponse); +export const zGetHealthchecksResponse = zHealthCheckListResponse; export const zPatchHealthchecksData = z.object({ body: z.never().optional(), @@ -5645,7 +7782,7 @@ export const zGetHealthchecksCountData = z.object({ /** * successful operation */ -export const zGetHealthchecksCountResponse = z.array(zHealthCheckResponse); +export const zGetHealthchecksCountResponse = zHealthCheckListResponse; export const zGetHealthchecksByIdByRelationData = z.object({ body: z.never().optional(), @@ -5779,7 +7916,7 @@ export const zGetLogentriesData = z.object({ /** * successful operation */ -export const zGetLogentriesResponse = z.array(zLogEntryResponse); +export const zGetLogentriesResponse = zLogEntryListResponse; export const zPatchLogentriesData = z.object({ body: z.never().optional(), @@ -5813,7 +7950,7 @@ export const zGetLogentriesCountData = z.object({ /** * successful operation */ -export const zGetLogentriesCountResponse = z.array(zLogEntryResponse); +export const zGetLogentriesCountResponse = zLogEntryListResponse; export const zDeleteLogentriesByIdData = z.object({ body: z.record(z.string(), z.unknown()), @@ -5877,7 +8014,7 @@ export const zGetNotificationsData = z.object({ /** * successful operation */ -export const zGetNotificationsResponse = z.array(zNotificationSettingResponse); +export const zGetNotificationsResponse = zNotificationSettingListResponse; export const zPatchNotificationsData = z.object({ body: z.never().optional(), @@ -5911,7 +8048,7 @@ export const zGetNotificationsCountData = z.object({ /** * successful operation */ -export const zGetNotificationsCountResponse = z.array(zNotificationSettingResponse); +export const zGetNotificationsCountResponse = zNotificationSettingListResponse; export const zGetNotificationsByIdByRelationData = z.object({ body: z.never().optional(), @@ -6017,7 +8154,7 @@ export const zGetPreprocessorsData = z.object({ /** * successful operation */ -export const zGetPreprocessorsResponse = z.array(zPreprocessorResponse); +export const zGetPreprocessorsResponse = zPreprocessorListResponse; export const zPatchPreprocessorsData = z.object({ body: z.never().optional(), @@ -6051,7 +8188,7 @@ export const zGetPreprocessorsCountData = z.object({ /** * successful operation */ -export const zGetPreprocessorsCountResponse = z.array(zPreprocessorResponse); +export const zGetPreprocessorsCountResponse = zPreprocessorListResponse; export const zDeletePreprocessorsByIdData = z.object({ body: z.record(z.string(), z.unknown()), @@ -6115,7 +8252,7 @@ export const zGetPretasksData = z.object({ /** * successful operation */ -export const zGetPretasksResponse = z.array(zPretaskResponse); +export const zGetPretasksResponse = zPretaskListResponse; export const zPatchPretasksData = z.object({ body: z.never().optional(), @@ -6149,7 +8286,7 @@ export const zGetPretasksCountData = z.object({ /** * successful operation */ -export const zGetPretasksCountResponse = z.array(zPretaskResponse); +export const zGetPretasksCountResponse = zPretaskListResponse; export const zGetPretasksByIdByRelationData = z.object({ body: z.never().optional(), @@ -6277,7 +8414,7 @@ export const zGetSpeedsData = z.object({ /** * successful operation */ -export const zGetSpeedsResponse = z.array(zSpeedResponse); +export const zGetSpeedsResponse = zSpeedListResponse; export const zGetSpeedsCountData = z.object({ body: z.never().optional(), @@ -6294,7 +8431,7 @@ export const zGetSpeedsCountData = z.object({ /** * successful operation */ -export const zGetSpeedsCountResponse = z.array(zSpeedResponse); +export const zGetSpeedsCountResponse = zSpeedListResponse; export const zGetSpeedsByIdByRelationData = z.object({ body: z.never().optional(), @@ -6374,7 +8511,7 @@ export const zGetSupertasksData = z.object({ /** * successful operation */ -export const zGetSupertasksResponse = z.array(zSupertaskResponse); +export const zGetSupertasksResponse = zSupertaskListResponse; export const zPatchSupertasksData = z.object({ body: z.never().optional(), @@ -6408,7 +8545,7 @@ export const zGetSupertasksCountData = z.object({ /** * successful operation */ -export const zGetSupertasksCountResponse = z.array(zSupertaskResponse); +export const zGetSupertasksCountResponse = zSupertaskListResponse; export const zGetSupertasksByIdByRelationData = z.object({ body: z.never().optional(), @@ -6542,7 +8679,7 @@ export const zGetTasksData = z.object({ /** * successful operation */ -export const zGetTasksResponse = z.array(zTaskResponse); +export const zGetTasksResponse = zTaskListResponse; export const zPatchTasksData = z.object({ body: z.never().optional(), @@ -6576,7 +8713,7 @@ export const zGetTasksCountData = z.object({ /** * successful operation */ -export const zGetTasksCountResponse = z.array(zTaskResponse); +export const zGetTasksCountResponse = zTaskListResponse; export const zGetTasksByIdByRelationData = z.object({ body: z.never().optional(), @@ -6710,7 +8847,7 @@ export const zGetTaskwrappersData = z.object({ /** * successful operation */ -export const zGetTaskwrappersResponse = z.array(zTaskWrapperResponse); +export const zGetTaskwrappersResponse = zTaskWrapperListResponse; export const zPatchTaskwrappersData = z.object({ body: z.never().optional(), @@ -6733,7 +8870,7 @@ export const zGetTaskwrappersCountData = z.object({ /** * successful operation */ -export const zGetTaskwrappersCountResponse = z.array(zTaskWrapperResponse); +export const zGetTaskwrappersCountResponse = zTaskWrapperListResponse; export const zGetTaskwrappersByIdByRelationData = z.object({ body: z.never().optional(), @@ -6867,7 +9004,7 @@ export const zGetUsersData = z.object({ /** * successful operation */ -export const zGetUsersResponse = z.array(zUserResponse); +export const zGetUsersResponse = zUserListResponse; export const zPatchUsersData = z.object({ body: z.never().optional(), @@ -6901,7 +9038,7 @@ export const zGetUsersCountData = z.object({ /** * successful operation */ -export const zGetUsersCountResponse = z.array(zUserResponse); +export const zGetUsersCountResponse = zUserListResponse; export const zGetUsersByIdByRelationData = z.object({ body: z.never().optional(), @@ -7035,7 +9172,7 @@ export const zGetVouchersData = z.object({ /** * successful operation */ -export const zGetVouchersResponse = z.array(zRegVoucherResponse); +export const zGetVouchersResponse = zRegVoucherListResponse; export const zPatchVouchersData = z.object({ body: z.never().optional(), @@ -7069,7 +9206,7 @@ export const zGetVouchersCountData = z.object({ /** * successful operation */ -export const zGetVouchersCountResponse = z.array(zRegVoucherResponse); +export const zGetVouchersCountResponse = zRegVoucherListResponse; export const zDeleteVouchersByIdData = z.object({ body: z.record(z.string(), z.unknown()), diff --git a/tsconfig.json b/tsconfig.json index 143579e9a..2523590af 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -23,6 +23,9 @@ ], "@interceptors/*": [ "./src/app/core/_interceptors/*" + ], + "@generated/*": [ + "./src/generated/*" ] }, "outDir": "./dist/out-tsc", From c1248d2da06b4146ea6b0f02ffa2aa5b4adac564 Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Mon, 23 Mar 2026 08:54:52 +0100 Subject: [PATCH 03/14] Add custom stricter CrackerBinaryType as JCrackerBinaryType as crackerVersions is defined but backend returns potentially undefined crackerVersions --- .../new-health-checks.component.ts | 4 +-- .../core/_datasources/crackers.datasource.ts | 4 +-- src/app/core/_models/cracker-binary.model.ts | 25 +++++++++++++++++++ .../masks/masks.component.ts | 4 +-- .../wrbulk/wrbulk.component.ts | 4 +-- .../new-preconfigured-tasks.component.ts | 4 +-- .../tasks/new-tasks/new-tasks.component.ts | 4 +-- .../supertasks/applyhashlist.component.ts | 10 ++++---- 8 files changed, 42 insertions(+), 17 deletions(-) diff --git a/src/app/config/health-checks/new-health-check/new-health-checks.component.ts b/src/app/config/health-checks/new-health-check/new-health-checks.component.ts index a6d5190dc..d8b51a136 100644 --- a/src/app/config/health-checks/new-health-check/new-health-checks.component.ts +++ b/src/app/config/health-checks/new-health-check/new-health-checks.component.ts @@ -2,7 +2,7 @@ import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; -import { JCrackerBinaryType, JCrackerBinary } from '@models/cracker-binary.model'; +import { JCrackerBinaryType, JCrackerBinary, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; @@ -86,7 +86,7 @@ export class NewHealthChecksComponent implements OnInit, OnDestroy { */ loadData(): void { const loadSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerTypes: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); + const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse)); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); }); this.unsubscribeService.add(loadSubscription$); diff --git a/src/app/core/_datasources/crackers.datasource.ts b/src/app/core/_datasources/crackers.datasource.ts index 56c96efbc..5f94e705f 100644 --- a/src/app/core/_datasources/crackers.datasource.ts +++ b/src/app/core/_datasources/crackers.datasource.ts @@ -2,7 +2,7 @@ import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; -import { JCrackerBinaryType } from '@models/cracker-binary.model'; +import { JCrackerBinaryType, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; import { Filter } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; @@ -42,7 +42,7 @@ export class CrackersDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const crackers: JCrackerBinaryType[] = this.serializer.deserialize(response, zCrackerBinaryTypeListResponse) as JCrackerBinaryType[]; + const crackers: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(this.serializer.deserialize(response, zCrackerBinaryTypeListResponse)); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_models/cracker-binary.model.ts b/src/app/core/_models/cracker-binary.model.ts index b0e4110ce..385dd6907 100644 --- a/src/app/core/_models/cracker-binary.model.ts +++ b/src/app/core/_models/cracker-binary.model.ts @@ -1,3 +1,5 @@ +import { z } from 'zod'; + import { BaseModel } from '@models/base.model'; /** @@ -24,3 +26,26 @@ export interface JCrackerBinaryType extends BaseModel { isChunkingAvailable: boolean; typeName: string; } + +/** + * Zod schema for validating deserialized (flat) cracker binary objects. + * Use after jsona.deserialize() to validate that relationship data was included. + */ +export const zCrackerBinary = z.object({ + id: z.number(), + type: z.string(), + binaryName: z.string(), + crackerBinaryTypeId: z.number(), + downloadUrl: z.string(), + version: z.string(), +}); + +export const zCrackerBinaryType = z.object({ + id: z.number(), + type: z.string(), + typeName: z.string(), + isChunkingAvailable: z.boolean(), + crackerVersions: z.array(zCrackerBinary), +}); + +export const zCrackerBinaryTypeList = z.array(zCrackerBinaryType); diff --git a/src/app/tasks/import-supertasks/masks/masks.component.ts b/src/app/tasks/import-supertasks/masks/masks.component.ts index e97a13c93..b5ada1856 100644 --- a/src/app/tasks/import-supertasks/masks/masks.component.ts +++ b/src/app/tasks/import-supertasks/masks/masks.component.ts @@ -5,7 +5,7 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angula import { FormControl, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; -import { JCrackerBinaryType } from '@models/cracker-binary.model'; +import { JCrackerBinaryType, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; import { HorizontalNav } from '@models/horizontalnav.model'; import { JPretask } from '@models/pretask.model'; @@ -122,7 +122,7 @@ export class MasksComponent implements OnInit, OnDestroy { */ loadData(): void { const loadSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerBinaryTypes: JCrackerBinaryType[] = this.serializer.deserialize(response, zCrackerBinaryTypeListResponse) as JCrackerBinaryType[]; + const crackerBinaryTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(this.serializer.deserialize(response, zCrackerBinaryTypeListResponse)); this.selectCrackertype = transformSelectOptions(crackerBinaryTypes, CRACKER_TYPE_FIELD_MAPPING); }); diff --git a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts index 962695291..5982d52e0 100644 --- a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts +++ b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts @@ -4,7 +4,7 @@ import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; -import { JCrackerBinaryType } from '@models/cracker-binary.model'; +import { JCrackerBinaryType, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; import { JFile } from '@models/file.model'; import { HorizontalNav } from '@models/horizontalnav.model'; import { JPretask } from '@models/pretask.model'; @@ -112,7 +112,7 @@ export class WrbulkComponent implements OnInit, OnDestroy { */ loadData() { const loadSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerBinaryTypes: JCrackerBinaryType[] = this.serializer.deserialize(response, zCrackerBinaryTypeListResponse) as JCrackerBinaryType[]; + const crackerBinaryTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(this.serializer.deserialize(response, zCrackerBinaryTypeListResponse)); this.selectCrackertype = transformSelectOptions(crackerBinaryTypes, CRACKER_TYPE_FIELD_MAPPING); }); diff --git a/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts b/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts index a6e183c52..b0b76108e 100644 --- a/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts +++ b/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts @@ -2,7 +2,7 @@ import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { ActivatedRoute, Params, Router } from '@angular/router'; -import { JCrackerBinaryType } from '@models/cracker-binary.model'; +import { JCrackerBinaryType, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; import { JFile, TaskSelectFile } from '@models/file.model'; import { JPretask } from '@models/pretask.model'; import { ResponseWrapper } from '@models/response.model'; @@ -107,7 +107,7 @@ export class NewPreconfiguredTasksComponent implements OnInit, OnDestroy { loadData() { const loadCrackersSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerTypes: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); + const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse)); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); }); this.unsubscribeService.add(loadCrackersSubscription$); diff --git a/src/app/tasks/new-tasks/new-tasks.component.ts b/src/app/tasks/new-tasks/new-tasks.component.ts index 305a45918..af4281016 100644 --- a/src/app/tasks/new-tasks/new-tasks.component.ts +++ b/src/app/tasks/new-tasks/new-tasks.component.ts @@ -6,7 +6,7 @@ import { FormGroup } from '@angular/forms'; import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute, Router } from '@angular/router'; -import { JCrackerBinaryType, JCrackerBinary } from '@models/cracker-binary.model'; +import { JCrackerBinaryType, JCrackerBinary, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; import { FileType, TaskSelectFile } from '@models/file.model'; import { JHashlist } from '@models/hashlist.model'; import { JPreprocessor } from '@models/preprocessor.model'; @@ -204,7 +204,7 @@ export class NewTasksComponent implements OnInit { private async loadCrackerSelectOptions(): Promise { try { const typeResponse: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.CRACKERS_TYPES)); - const crackerTypes: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(typeResponse, zCrackerBinaryTypeListResponse); + const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(new JsonAPISerializer().deserialize(typeResponse, zCrackerBinaryTypeListResponse)); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); let typeId = this.selectCrackertype.find((obj) => obj.name === 'hashcat')?.id; diff --git a/src/app/tasks/supertasks/applyhashlist.component.ts b/src/app/tasks/supertasks/applyhashlist.component.ts index 55dab187c..d287b7967 100644 --- a/src/app/tasks/supertasks/applyhashlist.component.ts +++ b/src/app/tasks/supertasks/applyhashlist.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnIni import { FormControl, FormGroup } from '@angular/forms'; import { ActivatedRoute, Params, Router } from '@angular/router'; -import { JCrackerBinaryType } from '@models/cracker-binary.model'; +import { JCrackerBinary, JCrackerBinaryType, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; import { JHashlist } from '@models/hashlist.model'; import { FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; @@ -22,7 +22,7 @@ import { } from '@src/app/core/_constants/select.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zCrackerBinaryTypeListResponse, zHashlistListResponse } from '@generated/api/zod.gen'; +import { zCrackerBinaryListResponse, zCrackerBinaryTypeListResponse, zHashlistListResponse } from '@generated/api/zod.gen'; /** * ApplyHashlistComponent is a component responsible for managing and applying hashlists. @@ -177,7 +177,7 @@ export class ApplyHashlistComponent implements OnInit, OnDestroy { loadCrackerSelectOptions() { // Load Cracker Types and Crackers Select Options const loadCrackerTypesSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerTypes: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); + const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse)); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); let id = ''; if (this.selectCrackertype.find((obj) => obj.name === 'hashcat').id) { @@ -191,7 +191,7 @@ export class ApplyHashlistComponent implements OnInit, OnDestroy { const loadCrackersSubscription$ = this.gs .getAll(SERV.CRACKERS, requestParams) .subscribe((response: ResponseWrapper) => { - const crackers: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); + const crackers: JCrackerBinary[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryListResponse); this.selectCrackerversions = transformSelectOptions(crackers, CRACKER_VERSION_FIELD_MAPPING); const lastItem = this.selectCrackerversions.slice(-1)[0]['id']; this.form.get('crackerBinaryTypeId').patchValue(lastItem); @@ -215,7 +215,7 @@ export class ApplyHashlistComponent implements OnInit, OnDestroy { const onChangeBinarySubscription$ = this.gs .getAll(SERV.CRACKERS, requestParams) .subscribe((response: ResponseWrapper) => { - const crackers: JCrackerBinaryType[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse); + const crackers: JCrackerBinary[] = new JsonAPISerializer().deserialize(response, zCrackerBinaryListResponse); this.selectCrackerversions = transformSelectOptions(crackers, CRACKER_VERSION_FIELD_MAPPING); const lastItem = this.selectCrackerversions.slice(-1)[0]['id']; this.form.get('crackerBinaryTypeId').patchValue(lastItem); From d8c9529f9544667426198f3c220986c2cda969a9 Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Mon, 23 Mar 2026 11:17:30 +0100 Subject: [PATCH 04/14] Regenerate types with correct global permissions responses --- openapi.json | 1341 ++++++++++++----- .../agents/edit-agent/edit-agent.component.ts | 6 +- .../view-health-checks.component.ts | 2 +- .../new-supertasks.component.ts | 4 +- ...ess-permission-groups-expand.datasource.ts | 6 +- .../core/_datasources/agents.datasource.ts | 8 +- .../core/_datasources/cracks.datasource.ts | 2 +- src/app/core/_datasources/files.datasource.ts | 6 +- .../core/_datasources/hashlists.datasource.ts | 4 +- src/app/core/_datasources/logs.datasource.ts | 1 + .../_datasources/permissions.datasource.ts | 4 +- .../preconfigured-tasks.datasource.ts | 8 +- .../_datasources/search-hash.datasource.ts | 2 +- .../super-hashlists.datasource.ts | 2 +- .../supertasks-pretasks.datasource.ts | 4 +- .../_datasources/tasks-chunks.datasource.ts | 2 +- .../core/_datasources/vouchers.datasource.ts | 4 +- .../permission/permission.service.ts | 4 +- .../edit-hashlist/edit-hashlist.component.ts | 4 +- .../import-cracked-hashes.component.ts | 2 +- .../edit-preconfigured-tasks.component.ts | 4 +- .../edit-supertasks.component.ts | 6 +- .../tasks/edit-tasks/edit-tasks.component.ts | 8 +- .../masks/masks.component.ts | 4 +- .../wrbulk/wrbulk.component.ts | 4 +- .../users/edit-users/edit-users.component.ts | 8 +- .../edit-globalpermissionsgroups.component.ts | 4 +- src/app/users/new-user/new-user.component.ts | 4 +- src/generated/api/index.ts | 2 +- src/generated/api/types.gen.ts | 680 ++++----- src/generated/api/zod.gen.ts | 937 +++++++----- 31 files changed, 1940 insertions(+), 1137 deletions(-) diff --git a/openapi.json b/openapi.json index 5a3a40c90..e4722c24d 100644 --- a/openapi.json +++ b/openapi.json @@ -878,7 +878,7 @@ }, "/api/v2/ui/agentassignments": { "get": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -890,7 +890,9 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentListResponse" } } } + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AgentAssignmentListResponse" } } + } } }, "security": [{ "bearerAuth": [] }], @@ -933,11 +935,11 @@ "description": "Items to include, comma seperated. Possible options: agent,task" } ], - "summary": "List Assignments", + "summary": "List AgentAssignments", "operationId": "getAgentassignments" }, "post": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -950,7 +952,7 @@ "201": { "description": "successful operation", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentPostPatchResponse" } } + "application/json": { "schema": { "$ref": "#/components/schemas/AgentAssignmentPostPatchResponse" } } } } }, @@ -958,14 +960,14 @@ "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentCreate" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentAssignmentCreate" } } } }, "parameters": [], - "summary": "Create Assignments", + "summary": "Create AgentAssignments", "operationId": "postAgentassignments" }, "patch": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -980,11 +982,11 @@ "security": [{ "bearerAuth": [] }], "description": "PATCH request to update attributes of a single object.", "parameters": [], - "summary": "Update Assignments", + "summary": "Update AgentAssignments", "operationId": "patchAgentassignments" }, "delete": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -997,15 +999,15 @@ "200": { "description": "successful operation" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete Assignments", + "description": "Delete AgentAssignments", "parameters": [], - "summary": "Delete Assignments", + "summary": "Delete AgentAssignments", "operationId": "deleteAgentassignments" } }, "/api/v2/ui/agentassignments/count": { "get": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -1017,7 +1019,9 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentListResponse" } } } + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AgentAssignmentListResponse" } } + } } }, "security": [{ "bearerAuth": [] }], @@ -1060,13 +1064,13 @@ "description": "Items to include, comma seperated. Possible options: agent,task" } ], - "summary": "Count Assignments", + "summary": "Count AgentAssignments", "operationId": "getAgentassignmentsCount" } }, "/api/v2/ui/agentassignments/{id}/{relation}": { "get": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -1083,7 +1087,9 @@ "200": { "description": "successful operation", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentRelationTaskGetResponse" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/AgentAssignmentRelationTaskGetResponse" } + } } } }, @@ -1098,13 +1104,13 @@ }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Get Assignments", + "summary": "Get AgentAssignments", "operationId": "getAgentassignmentsByIdByRelation" } }, "/api/v2/ui/agentassignments/{id}/relationships/{relation}": { "get": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -1120,7 +1126,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentAssignmentResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -1134,11 +1140,11 @@ }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Get Assignments", + "summary": "Get AgentAssignments", "operationId": "getAgentassignmentsByIdRelationshipsByRelation" }, "patch": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -1158,19 +1164,21 @@ "description": "PATCH request to update a to one relationship.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentRelationTask" } } } + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/AgentAssignmentRelationTask" } } + } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Update Assignments", + "summary": "Update AgentAssignments", "operationId": "patchAgentassignmentsByIdRelationshipsByRelation" } }, "/api/v2/ui/agentassignments/{id}": { "get": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -1186,7 +1194,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentAssignmentResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -1205,11 +1213,11 @@ "description": "Items to include. Comma seperated" } ], - "summary": "Get Assignments", + "summary": "Get AgentAssignments", "operationId": "getAgentassignmentsById" }, "patch": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -1226,7 +1234,7 @@ "200": { "description": "successful operation", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentPostPatchResponse" } } + "application/json": { "schema": { "$ref": "#/components/schemas/AgentAssignmentPostPatchResponse" } } } } }, @@ -1234,14 +1242,14 @@ "description": "PATCH request to update attributes of a single object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignmentPatch" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentAssignmentPatch" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Update Assignments", + "summary": "Update AgentAssignments", "operationId": "patchAgentassignmentsById" }, "delete": { - "tags": ["Assignments"], + "tags": ["AgentAssignments"], "responses": { "400": { "description": "Invalid request", @@ -1258,10 +1266,10 @@ "204": { "description": "successfully deleted" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete Assignments", + "description": "Delete AgentAssignments", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Delete Assignments", + "summary": "Delete AgentAssignments", "operationId": "deleteAgentassignmentsById" } }, @@ -2068,7 +2076,7 @@ }, "/api/v2/ui/apiTokens": { "get": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2080,7 +2088,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyListResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenListResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -2123,11 +2131,11 @@ "description": "Items to include, comma seperated. Possible options: user" } ], - "summary": "List JwtApiKeys", + "summary": "List ApiTokens", "operationId": "getApiTokens" }, "post": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2140,7 +2148,7 @@ "201": { "description": "successful operation", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyPostPatchResponse" } } + "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenPostPatchResponse" } } } } }, @@ -2148,14 +2156,14 @@ "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyCreate" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenCreate" } } } }, "parameters": [], - "summary": "Create JwtApiKeys", + "summary": "Create ApiTokens", "operationId": "postApiTokens" }, "patch": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2170,11 +2178,11 @@ "security": [{ "bearerAuth": [] }], "description": "PATCH request to update attributes of a single object.", "parameters": [], - "summary": "Update JwtApiKeys", + "summary": "Update ApiTokens", "operationId": "patchApiTokens" }, "delete": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2187,15 +2195,15 @@ "200": { "description": "successful operation" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete JwtApiKeys", + "description": "Delete ApiTokens", "parameters": [], - "summary": "Delete JwtApiKeys", + "summary": "Delete ApiTokens", "operationId": "deleteApiTokens" } }, "/api/v2/ui/apiTokens/count": { "get": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2207,7 +2215,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyListResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenListResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -2250,13 +2258,13 @@ "description": "Items to include, comma seperated. Possible options: user" } ], - "summary": "Count JwtApiKeys", + "summary": "Count ApiTokens", "operationId": "getApiTokensCount" } }, "/api/v2/ui/apiTokens/{id}/{relation}": { "get": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2273,7 +2281,7 @@ "200": { "description": "successful operation", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyRelationUserGetResponse" } } + "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenRelationUserGetResponse" } } } } }, @@ -2288,13 +2296,13 @@ }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Get JwtApiKeys", + "summary": "Get ApiTokens", "operationId": "getApiTokensByIdByRelation" } }, "/api/v2/ui/apiTokens/{id}/relationships/{relation}": { "get": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2310,7 +2318,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -2324,11 +2332,11 @@ }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Get JwtApiKeys", + "summary": "Get ApiTokens", "operationId": "getApiTokensByIdRelationshipsByRelation" }, "patch": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2348,19 +2356,19 @@ "description": "PATCH request to update a to one relationship.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyRelationUser" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenRelationUser" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Update JwtApiKeys", + "summary": "Update ApiTokens", "operationId": "patchApiTokensByIdRelationshipsByRelation" } }, "/api/v2/ui/apiTokens/{id}": { "get": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2376,7 +2384,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -2395,11 +2403,11 @@ "description": "Items to include. Comma seperated" } ], - "summary": "Get JwtApiKeys", + "summary": "Get ApiTokens", "operationId": "getApiTokensById" }, "patch": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2416,7 +2424,7 @@ "200": { "description": "successful operation", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyPostPatchResponse" } } + "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenPostPatchResponse" } } } } }, @@ -2424,14 +2432,14 @@ "description": "PATCH request to update attributes of a single object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtApiKeyPatch" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTokenPatch" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Update JwtApiKeys", + "summary": "Update ApiTokens", "operationId": "patchApiTokensById" }, "delete": { - "tags": ["JwtApiKeys"], + "tags": ["ApiTokens"], "responses": { "400": { "description": "Invalid request", @@ -2448,10 +2456,10 @@ "204": { "description": "successfully deleted" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete JwtApiKeys", + "description": "Delete ApiTokens", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Delete JwtApiKeys", + "summary": "Delete ApiTokens", "operationId": "deleteApiTokensById" } }, @@ -4506,7 +4514,7 @@ }, "/api/v2/ui/globalpermissiongroups": { "get": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4518,7 +4526,9 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupListResponse" } } } + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupListResponse" } } + } } }, "security": [{ "bearerAuth": [] }], @@ -4561,11 +4571,11 @@ "description": "Items to include, comma seperated. Possible options: userMembers" } ], - "summary": "List RightGroups", + "summary": "List GlobalPermissionGroups", "operationId": "getGlobalpermissiongroups" }, "post": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4578,7 +4588,9 @@ "201": { "description": "successful operation", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupPostPatchResponse" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupPostPatchResponse" } + } } } }, @@ -4586,14 +4598,16 @@ "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupCreate" } } } + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupCreate" } } + } }, "parameters": [], - "summary": "Create RightGroups", + "summary": "Create GlobalPermissionGroups", "operationId": "postGlobalpermissiongroups" }, "patch": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4608,11 +4622,11 @@ "security": [{ "bearerAuth": [] }], "description": "PATCH request to update attributes of a single object.", "parameters": [], - "summary": "Update RightGroups", + "summary": "Update GlobalPermissionGroups", "operationId": "patchGlobalpermissiongroups" }, "delete": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4625,15 +4639,15 @@ "200": { "description": "successful operation" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete RightGroups", + "description": "Delete GlobalPermissionGroups", "parameters": [], - "summary": "Delete RightGroups", + "summary": "Delete GlobalPermissionGroups", "operationId": "deleteGlobalpermissiongroups" } }, "/api/v2/ui/globalpermissiongroups/count": { "get": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4645,7 +4659,9 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupListResponse" } } } + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupListResponse" } } + } } }, "security": [{ "bearerAuth": [] }], @@ -4688,13 +4704,13 @@ "description": "Items to include, comma seperated. Possible options: userMembers" } ], - "summary": "Count RightGroups", + "summary": "Count GlobalPermissionGroups", "operationId": "getGlobalpermissiongroupsCount" } }, "/api/v2/ui/globalpermissiongroups/{id}/{relation}": { "get": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4712,7 +4728,7 @@ "description": "successful operation", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/RightGroupRelationUserMembersGetResponse" } + "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupRelationUserMembersGetResponse" } } } } @@ -4728,13 +4744,13 @@ }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Get RightGroups", + "summary": "Get GlobalPermissionGroups", "operationId": "getGlobalpermissiongroupsByIdByRelation" } }, "/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}": { "get": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4750,7 +4766,9 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupResponse" } } } + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupResponse" } } + } } }, "security": [{ "bearerAuth": [] }], @@ -4764,11 +4782,11 @@ }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Get RightGroups", + "summary": "Get GlobalPermissionGroups", "operationId": "getGlobalpermissiongroupsByIdRelationshipsByRelation" }, "patch": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4789,18 +4807,20 @@ "requestBody": { "required": true, "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupRelationUserMembers" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupRelationUserMembers" } + } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Update RightGroups", + "summary": "Update GlobalPermissionGroups", "operationId": "patchGlobalpermissiongroupsByIdRelationshipsByRelation" }, "post": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4823,11 +4843,11 @@ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Add RightGroups relationship", + "summary": "Add GlobalPermissionGroups relationship", "operationId": "postGlobalpermissiongroupsByIdRelationshipsByRelation" }, "delete": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4844,24 +4864,26 @@ } }, "security": [{ "bearerAuth": [] }], - "description": "Remove RightGroups relationship", + "description": "Remove GlobalPermissionGroups relationship", "requestBody": { "required": true, "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupRelationUserMembers" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupRelationUserMembers" } + } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Remove RightGroups relationship", + "summary": "Remove GlobalPermissionGroups relationship", "operationId": "deleteGlobalpermissiongroupsByIdRelationshipsByRelation" } }, "/api/v2/ui/globalpermissiongroups/{id}": { "get": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4877,7 +4899,9 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupResponse" } } } + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupResponse" } } + } } }, "security": [{ "bearerAuth": [] }], @@ -4896,11 +4920,11 @@ "description": "Items to include. Comma seperated" } ], - "summary": "Get RightGroups", + "summary": "Get GlobalPermissionGroups", "operationId": "getGlobalpermissiongroupsById" }, "patch": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4917,7 +4941,9 @@ "200": { "description": "successful operation", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupPostPatchResponse" } } + "application/json": { + "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupPostPatchResponse" } + } } } }, @@ -4925,14 +4951,14 @@ "description": "PATCH request to update attributes of a single object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RightGroupPatch" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GlobalPermissionGroupPatch" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Update RightGroups", + "summary": "Update GlobalPermissionGroups", "operationId": "patchGlobalpermissiongroupsById" }, "delete": { - "tags": ["RightGroups"], + "tags": ["GlobalPermissionGroups"], "responses": { "400": { "description": "Invalid request", @@ -4949,10 +4975,10 @@ "204": { "description": "successfully deleted" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete RightGroups", + "description": "Delete GlobalPermissionGroups", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Delete RightGroups", + "summary": "Delete GlobalPermissionGroups", "operationId": "deleteGlobalpermissiongroupsById" } }, @@ -7654,7 +7680,7 @@ }, "/api/v2/ui/pretasks": { "get": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7666,7 +7692,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskListResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskListResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -7709,11 +7735,11 @@ "description": "Items to include, comma seperated. Possible options: pretaskFiles" } ], - "summary": "List Pretasks", + "summary": "List PreTasks", "operationId": "getPretasks" }, "post": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7725,21 +7751,21 @@ }, "201": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskPostPatchResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskPostPatchResponse" } } } } }, "security": [{ "bearerAuth": [] }], "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskCreate" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskCreate" } } } }, "parameters": [], - "summary": "Create Pretasks", + "summary": "Create PreTasks", "operationId": "postPretasks" }, "patch": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7754,11 +7780,11 @@ "security": [{ "bearerAuth": [] }], "description": "PATCH request to update attributes of a single object.", "parameters": [], - "summary": "Update Pretasks", + "summary": "Update PreTasks", "operationId": "patchPretasks" }, "delete": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7771,15 +7797,15 @@ "200": { "description": "successful operation" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete Pretasks", + "description": "Delete PreTasks", "parameters": [], - "summary": "Delete Pretasks", + "summary": "Delete PreTasks", "operationId": "deletePretasks" } }, "/api/v2/ui/pretasks/count": { "get": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7791,7 +7817,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskListResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskListResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -7834,13 +7860,13 @@ "description": "Items to include, comma seperated. Possible options: pretaskFiles" } ], - "summary": "Count Pretasks", + "summary": "Count PreTasks", "operationId": "getPretasksCount" } }, "/api/v2/ui/pretasks/{id}/{relation}": { "get": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7858,7 +7884,7 @@ "description": "successful operation", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/PretaskRelationPretaskFilesGetResponse" } + "schema": { "$ref": "#/components/schemas/PreTaskRelationPretaskFilesGetResponse" } } } } @@ -7874,13 +7900,13 @@ }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Get Pretasks", + "summary": "Get PreTasks", "operationId": "getPretasksByIdByRelation" } }, "/api/v2/ui/pretasks/{id}/relationships/{relation}": { "get": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7896,7 +7922,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -7910,11 +7936,11 @@ }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Get Pretasks", + "summary": "Get PreTasks", "operationId": "getPretasksByIdRelationshipsByRelation" }, "patch": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7935,18 +7961,18 @@ "requestBody": { "required": true, "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/PretaskRelationPretaskFiles" } } + "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskRelationPretaskFiles" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Update Pretasks", + "summary": "Update PreTasks", "operationId": "patchPretasksByIdRelationshipsByRelation" }, "post": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7969,11 +7995,11 @@ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Add Pretasks relationship", + "summary": "Add PreTasks relationship", "operationId": "postPretasksByIdRelationshipsByRelation" }, "delete": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -7990,24 +8016,24 @@ } }, "security": [{ "bearerAuth": [] }], - "description": "Remove Pretasks relationship", + "description": "Remove PreTasks relationship", "requestBody": { "required": true, "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/PretaskRelationPretaskFiles" } } + "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskRelationPretaskFiles" } } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }, { "name": "relation", "in": "path", "required": true, "schema": { "type": "string" } } ], - "summary": "Remove Pretasks relationship", + "summary": "Remove PreTasks relationship", "operationId": "deletePretasksByIdRelationshipsByRelation" } }, "/api/v2/ui/pretasks/{id}": { "get": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -8023,7 +8049,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -8042,11 +8068,11 @@ "description": "Items to include. Comma seperated" } ], - "summary": "Get Pretasks", + "summary": "Get PreTasks", "operationId": "getPretasksById" }, "patch": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -8062,21 +8088,21 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskPostPatchResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskPostPatchResponse" } } } } }, "security": [{ "bearerAuth": [] }], "description": "PATCH request to update attributes of a single object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PretaskPatch" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreTaskPatch" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Update Pretasks", + "summary": "Update PreTasks", "operationId": "patchPretasksById" }, "delete": { - "tags": ["Pretasks"], + "tags": ["PreTasks"], "responses": { "400": { "description": "Invalid request", @@ -8093,10 +8119,10 @@ "204": { "description": "successfully deleted" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete Pretasks", + "description": "Delete PreTasks", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Delete Pretasks", + "summary": "Delete PreTasks", "operationId": "deletePretasksById" } }, @@ -10117,7 +10143,7 @@ }, "/api/v2/ui/vouchers": { "get": { - "tags": ["RegVouchers"], + "tags": ["Vouchers"], "responses": { "400": { "description": "Invalid request", @@ -10129,7 +10155,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherListResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoucherListResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -10172,11 +10198,11 @@ "description": "Items to include, comma seperated. Possible options: " } ], - "summary": "List RegVouchers", + "summary": "List Vouchers", "operationId": "getVouchers" }, "post": { - "tags": ["RegVouchers"], + "tags": ["Vouchers"], "responses": { "400": { "description": "Invalid request", @@ -10188,23 +10214,21 @@ }, "201": { "description": "successful operation", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherPostPatchResponse" } } - } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoucherPostPatchResponse" } } } } }, "security": [{ "bearerAuth": [] }], "description": "POST request to create a new object. The request must contain the resource record as data with the attributes of the new object.To add relationships, a relationships object can be added with the resource records of the relations that are part of this object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherCreate" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoucherCreate" } } } }, "parameters": [], - "summary": "Create RegVouchers", + "summary": "Create Vouchers", "operationId": "postVouchers" }, "patch": { - "tags": ["RegVouchers"], + "tags": ["Vouchers"], "responses": { "400": { "description": "Invalid request", @@ -10219,11 +10243,11 @@ "security": [{ "bearerAuth": [] }], "description": "PATCH request to update attributes of a single object.", "parameters": [], - "summary": "Update RegVouchers", + "summary": "Update Vouchers", "operationId": "patchVouchers" }, "delete": { - "tags": ["RegVouchers"], + "tags": ["Vouchers"], "responses": { "400": { "description": "Invalid request", @@ -10236,15 +10260,15 @@ "200": { "description": "successful operation" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete RegVouchers", + "description": "Delete Vouchers", "parameters": [], - "summary": "Delete RegVouchers", + "summary": "Delete Vouchers", "operationId": "deleteVouchers" } }, "/api/v2/ui/vouchers/count": { "get": { - "tags": ["RegVouchers"], + "tags": ["Vouchers"], "responses": { "400": { "description": "Invalid request", @@ -10256,7 +10280,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherListResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoucherListResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -10299,13 +10323,13 @@ "description": "Items to include, comma seperated. Possible options: " } ], - "summary": "Count RegVouchers", + "summary": "Count Vouchers", "operationId": "getVouchersCount" } }, "/api/v2/ui/vouchers/{id}": { "get": { - "tags": ["RegVouchers"], + "tags": ["Vouchers"], "responses": { "400": { "description": "Invalid request", @@ -10321,7 +10345,7 @@ }, "200": { "description": "successful operation", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherResponse" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoucherResponse" } } } } }, "security": [{ "bearerAuth": [] }], @@ -10340,11 +10364,11 @@ "description": "Items to include. Comma seperated" } ], - "summary": "Get RegVouchers", + "summary": "Get Vouchers", "operationId": "getVouchersById" }, "patch": { - "tags": ["RegVouchers"], + "tags": ["Vouchers"], "responses": { "400": { "description": "Invalid request", @@ -10360,23 +10384,21 @@ }, "200": { "description": "successful operation", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherPostPatchResponse" } } - } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoucherPostPatchResponse" } } } } }, "security": [{ "bearerAuth": [] }], "description": "PATCH request to update attributes of a single object.", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegVoucherPatch" } } } + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoucherPatch" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Update RegVouchers", + "summary": "Update Vouchers", "operationId": "patchVouchersById" }, "delete": { - "tags": ["RegVouchers"], + "tags": ["Vouchers"], "responses": { "400": { "description": "Invalid request", @@ -10393,10 +10415,10 @@ "204": { "description": "successfully deleted" } }, "security": [{ "bearerAuth": [] }], - "description": "Delete RegVouchers", + "description": "Delete Vouchers", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "integer" } }], - "summary": "Delete RegVouchers", + "summary": "Delete Vouchers", "operationId": "deleteVouchersById" } }, @@ -11212,7 +11234,11 @@ "required": ["type", "attributes"], "properties": { "type": { "type": "string", "const": "accessGroup" }, - "attributes": { "type": "object", "properties": { "groupName": { "type": "string" } } } + "attributes": { + "type": "object", + "properties": { "groupName": { "type": "string" } }, + "required": ["groupName"] + } } } } @@ -11240,7 +11266,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -11330,7 +11360,7 @@ "agentId": { "type": "integer" }, "agentName": { "type": "string" }, "uid": { "type": "string" }, - "os": { "type": "integer" }, + "os": { "type": "integer", "enum": [0, 1, 2] }, "devices": { "type": "string" }, "cmdPars": { "type": "string" }, "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, @@ -11359,7 +11389,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -11386,7 +11420,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -11479,7 +11517,7 @@ "agentId": { "type": "integer" }, "agentName": { "type": "string" }, "uid": { "type": "string" }, - "os": { "type": "integer" }, + "os": { "type": "integer", "enum": [0, 1, 2] }, "devices": { "type": "string" }, "cmdPars": { "type": "string" }, "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, @@ -11551,7 +11589,7 @@ "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, "isActive": { "type": "boolean" }, "isTrusted": { "type": "boolean" }, - "os": { "type": "integer" }, + "os": { "type": "integer", "enum": [0, 1, 2] }, "uid": { "type": "string" }, "userId": { "type": "integer" } } @@ -11569,7 +11607,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -11611,7 +11653,7 @@ "properties": { "agentName": { "type": "string" }, "uid": { "type": "string" }, - "os": { "type": "integer" }, + "os": { "type": "integer", "enum": [0, 1, 2] }, "devices": { "type": "string" }, "cmdPars": { "type": "string" }, "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, @@ -11826,7 +11868,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -11857,7 +11903,7 @@ "properties": { "agentName": { "type": "string" }, "uid": { "type": "string" }, - "os": { "type": "integer" }, + "os": { "type": "integer", "enum": [0, 1, 2] }, "devices": { "type": "string" }, "cmdPars": { "type": "string" }, "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, @@ -11885,7 +11931,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -11929,7 +11979,7 @@ "properties": { "agentName": { "type": "string" }, "uid": { "type": "string" }, - "os": { "type": "integer" }, + "os": { "type": "integer", "enum": [0, 1, 2] }, "devices": { "type": "string" }, "cmdPars": { "type": "string" }, "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, @@ -12170,7 +12220,7 @@ } } }, - "AssignmentCreate": { + "AgentAssignmentCreate": { "type": "object", "required": ["data"], "properties": { @@ -12178,20 +12228,21 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "assignment" }, + "type": { "type": "string", "const": "agentAssignment" }, "attributes": { "type": "object", "properties": { "taskId": { "type": "integer" }, "agentId": { "type": "integer" }, "benchmark": { "type": "string" } - } + }, + "required": ["taskId", "agentId"] } } } } }, - "AssignmentPatch": { + "AgentAssignmentPatch": { "type": "object", "required": ["data"], "properties": { @@ -12199,13 +12250,13 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "assignment" }, + "type": { "type": "string", "const": "agentAssignment" }, "attributes": { "type": "object", "properties": { "benchmark": { "type": "string" } } } } } } }, - "AssignmentResponse": { + "AgentAssignmentResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -12214,7 +12265,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -12233,7 +12288,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "assignment" }, + "type": { "type": "string", "const": "agentAssignment" }, "attributes": { "type": "object", "required": ["taskId", "agentId", "benchmark"], @@ -12342,7 +12397,7 @@ } } }, - "AssignmentPostPatchResponse": { + "AgentAssignmentPostPatchResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -12351,7 +12406,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -12359,7 +12418,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "assignment" }, + "type": { "type": "string", "const": "agentAssignment" }, "attributes": { "type": "object", "required": ["taskId", "agentId", "benchmark"], @@ -12373,7 +12432,7 @@ } } }, - "AssignmentListResponse": { + "AgentAssignmentListResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -12382,7 +12441,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -12403,7 +12466,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "assignment" }, + "type": { "type": "string", "const": "agentAssignment" }, "attributes": { "type": "object", "required": ["taskId", "agentId", "benchmark"], @@ -12513,7 +12576,7 @@ } } }, - "AssignmentRelationTask": { + "AgentAssignmentRelationTask": { "type": "object", "required": ["data"], "properties": { @@ -12524,7 +12587,7 @@ } } }, - "AssignmentRelationTaskGetResponse": { + "AgentAssignmentRelationTaskGetResponse": { "type": "object", "required": ["data"], "properties": { @@ -12552,7 +12615,8 @@ "operatingSystems": { "type": "string" }, "filename": { "type": "string" }, "updateTrack": { "type": "string" } - } + }, + "required": ["binaryType", "version", "operatingSystems", "filename", "updateTrack"] } } } @@ -12590,7 +12654,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -12637,7 +12705,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -12671,7 +12743,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -12728,7 +12804,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -12843,7 +12923,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -12983,7 +13067,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -13008,7 +13096,7 @@ "required": ["agentId", "statType", "time", "value"], "properties": { "agentId": { "type": "integer" }, - "statType": { "type": "integer" }, + "statType": { "type": "integer", "enum": [1, 2, 3] }, "time": { "type": "integer", "format": "int64" }, "value": { "type": "array", "items": { "type": "integer" } } } @@ -13028,7 +13116,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -13055,7 +13147,7 @@ "required": ["agentId", "statType", "time", "value"], "properties": { "agentId": { "type": "integer" }, - "statType": { "type": "integer" }, + "statType": { "type": "integer", "enum": [1, 2, 3] }, "time": { "type": "integer", "format": "int64" }, "value": { "type": "array", "items": { "type": "integer" } } } @@ -13067,7 +13159,7 @@ "included": { "type": "array", "items": { "type": "object", "properties": {} } } } }, - "JwtApiKeyCreate": { + "ApiTokenCreate": { "type": "object", "required": ["data"], "properties": { @@ -13075,7 +13167,7 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "jwtApiKey" }, + "type": { "type": "string", "const": "apiToken" }, "attributes": { "type": "object", "properties": { @@ -13084,13 +13176,14 @@ "endValid": { "type": "integer", "format": "int64" }, "userId": { "type": "integer" }, "isRevoked": { "type": "boolean" } - } + }, + "required": ["scopes", "startValid", "endValid", "userId", "isRevoked"] } } } } }, - "JwtApiKeyPatch": { + "ApiTokenPatch": { "type": "object", "required": ["data"], "properties": { @@ -13098,13 +13191,13 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "jwtApiKey" }, + "type": { "type": "string", "const": "apiToken" }, "attributes": { "type": "object", "properties": { "isRevoked": { "type": "boolean" } } } } } } }, - "JwtApiKeyResponse": { + "ApiTokenResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -13113,7 +13206,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -13132,7 +13229,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "jwtApiKey" }, + "type": { "type": "string", "const": "apiToken" }, "attributes": { "type": "object", "required": ["startValid", "endValid", "userId", "isRevoked"], @@ -13186,7 +13283,7 @@ "attributes": { "type": "object", "properties": { - "userId": { "type": "integer" }, + "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, "passwordHash": { "type": "string" }, @@ -13209,7 +13306,7 @@ } } }, - "JwtApiKeyPostPatchResponse": { + "ApiTokenPostPatchResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -13218,7 +13315,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -13226,7 +13327,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "jwtApiKey" }, + "type": { "type": "string", "const": "apiToken" }, "attributes": { "type": "object", "required": ["startValid", "endValid", "userId", "isRevoked"], @@ -13242,7 +13343,7 @@ } } }, - "JwtApiKeyListResponse": { + "ApiTokenListResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -13251,7 +13352,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -13272,7 +13377,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "jwtApiKey" }, + "type": { "type": "string", "const": "apiToken" }, "attributes": { "type": "object", "required": ["startValid", "endValid", "userId", "isRevoked"], @@ -13327,7 +13432,7 @@ "attributes": { "type": "object", "properties": { - "userId": { "type": "integer" }, + "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, "passwordHash": { "type": "string" }, @@ -13350,7 +13455,7 @@ } } }, - "JwtApiKeyRelationUser": { + "ApiTokenRelationUser": { "type": "object", "required": ["data"], "properties": { @@ -13361,7 +13466,7 @@ } } }, - "JwtApiKeyRelationUserGetResponse": { + "ApiTokenRelationUserGetResponse": { "type": "object", "required": ["data"], "properties": { @@ -13381,7 +13486,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -13425,7 +13534,7 @@ "solveTime": { "type": "integer", "format": "int64" }, "checkpoint": { "type": "integer", "format": "int64" }, "progress": { "type": "integer" }, - "state": { "type": "integer" }, + "state": { "type": "integer", "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] }, "cracked": { "type": "integer" }, "speed": { "type": "integer", "format": "int64" } } @@ -13538,7 +13647,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -13584,7 +13697,7 @@ "solveTime": { "type": "integer", "format": "int64" }, "checkpoint": { "type": "integer", "format": "int64" }, "progress": { "type": "integer" }, - "state": { "type": "integer" }, + "state": { "type": "integer", "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] }, "cracked": { "type": "integer" }, "speed": { "type": "integer", "format": "int64" } } @@ -13737,7 +13850,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -13826,7 +13943,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -13857,7 +13978,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -13977,7 +14102,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -14017,7 +14146,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -14067,7 +14200,8 @@ "version": { "type": "string" }, "downloadUrl": { "type": "string" }, "binaryName": { "type": "string" } - } + }, + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"] } } } @@ -14103,7 +14237,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -14242,7 +14380,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -14274,7 +14416,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -14450,7 +14596,11 @@ "required": ["type", "attributes"], "properties": { "type": { "type": "string", "const": "crackerBinaryType" }, - "attributes": { "type": "object", "properties": { "typeName": { "type": "string" } } } + "attributes": { + "type": "object", + "properties": { "typeName": { "type": "string" } }, + "required": ["typeName"] + } } } } @@ -14481,7 +14631,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -14613,7 +14767,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -14640,7 +14798,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -14816,9 +14978,10 @@ "sourceData": { "type": "string" }, "filename": { "type": "string" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer" }, + "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, "accessGroupId": { "type": "integer" } - } + }, + "required": ["sourceType", "sourceData", "filename", "isSecret", "fileType", "accessGroupId"] } } } @@ -14837,7 +15000,7 @@ "type": "object", "properties": { "accessGroupId": { "type": "integer" }, - "fileType": { "type": "integer" }, + "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, "filename": { "type": "string" }, "isSecret": { "type": "boolean" } } @@ -14855,7 +15018,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -14882,7 +15049,7 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer" }, + "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -14955,7 +15122,7 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer" }, + "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -15020,7 +15187,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -15036,7 +15207,7 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer" }, + "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -15054,7 +15225,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -15083,7 +15258,7 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer" }, + "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -15168,7 +15343,7 @@ } } }, - "RightGroupCreate": { + "GlobalPermissionGroupCreate": { "type": "object", "required": ["data"], "properties": { @@ -15176,16 +15351,20 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "rightGroup" }, + "type": { "type": "string", "const": "globalPermissionGroup" }, "attributes": { "type": "object", - "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + "properties": { + "name": { "type": "string" }, + "permissions": { "type": "object", "additionalProperties": { "type": "boolean" } } + }, + "required": ["name"] } } } } }, - "RightGroupPatch": { + "GlobalPermissionGroupPatch": { "type": "object", "required": ["data"], "properties": { @@ -15193,16 +15372,19 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "rightGroup" }, + "type": { "type": "string", "const": "globalPermissionGroup" }, "attributes": { "type": "object", - "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + "properties": { + "name": { "type": "string" }, + "permissions": { "type": "object", "additionalProperties": { "type": "boolean" } } + } } } } } }, - "RightGroupResponse": { + "GlobalPermissionGroupResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -15211,7 +15393,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -15236,11 +15422,14 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "rightGroup" }, + "type": { "type": "string", "const": "globalPermissionGroup" }, "attributes": { "type": "object", "required": ["name", "permissions"], - "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + "properties": { + "name": { "type": "string" }, + "permissions": { "type": "object", "additionalProperties": { "type": "boolean" } } + } } } }, @@ -15285,7 +15474,7 @@ "attributes": { "type": "object", "properties": { - "userId": { "type": "integer" }, + "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, "passwordHash": { "type": "string" }, @@ -15308,7 +15497,7 @@ } } }, - "RightGroupPostPatchResponse": { + "GlobalPermissionGroupPostPatchResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -15317,7 +15506,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -15325,17 +15518,20 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "rightGroup" }, + "type": { "type": "string", "const": "globalPermissionGroup" }, "attributes": { "type": "object", "required": ["name", "permissions"], - "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + "properties": { + "name": { "type": "string" }, + "permissions": { "type": "object", "additionalProperties": { "type": "boolean" } } + } } } } } }, - "RightGroupListResponse": { + "GlobalPermissionGroupListResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -15344,7 +15540,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -15371,11 +15571,14 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "rightGroup" }, + "type": { "type": "string", "const": "globalPermissionGroup" }, "attributes": { "type": "object", "required": ["name", "permissions"], - "properties": { "name": { "type": "string" }, "permissions": { "type": "object" } } + "properties": { + "name": { "type": "string" }, + "permissions": { "type": "object", "additionalProperties": { "type": "boolean" } } + } } } } @@ -15421,7 +15624,7 @@ "attributes": { "type": "object", "properties": { - "userId": { "type": "integer" }, + "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, "passwordHash": { "type": "string" }, @@ -15444,7 +15647,7 @@ } } }, - "RightGroupRelationUserMembers": { + "GlobalPermissionGroupRelationUserMembers": { "type": "object", "required": ["data"], "properties": { @@ -15461,7 +15664,7 @@ } } }, - "RightGroupRelationUserMembersGetResponse": { + "GlobalPermissionGroupRelationUserMembersGetResponse": { "type": "object", "required": ["data"], "properties": { @@ -15487,7 +15690,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -15630,7 +15837,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -15823,7 +16034,23 @@ "useBrain": { "type": "boolean" }, "brainFeatures": { "type": "integer" }, "isArchived": { "type": "boolean" } - } + }, + "required": [ + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ] } } } @@ -15861,7 +16088,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -16306,7 +16537,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -16363,7 +16598,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -16639,7 +16878,8 @@ "description": { "type": "string" }, "isSalted": { "type": "boolean" }, "isSlowHash": { "type": "boolean" } - } + }, + "required": ["hashTypeId", "description", "isSalted", "isSlowHash"] } } } @@ -16675,7 +16915,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -16719,7 +16963,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -16750,7 +16998,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -16797,7 +17049,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -16823,7 +17079,7 @@ "properties": { "healthCheckId": { "type": "integer" }, "agentId": { "type": "integer" }, - "status": { "type": "integer" }, + "status": { "type": "integer", "enum": [-1, 0, 1] }, "cracked": { "type": "integer" }, "numGpus": { "type": "integer" }, "start": { "type": "integer", "format": "int64" }, @@ -16902,8 +17158,8 @@ "properties": { "healthCheckId": { "type": "integer" }, "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer" }, - "checkType": { "type": "integer" }, + "status": { "type": "integer", "enum": [-1, 0, 1] }, + "checkType": { "type": "integer", "enum": [0, 3200] }, "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" }, "expectedCracks": { "type": "integer" }, @@ -16924,7 +17180,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -16952,7 +17212,7 @@ "properties": { "healthCheckId": { "type": "integer" }, "agentId": { "type": "integer" }, - "status": { "type": "integer" }, + "status": { "type": "integer", "enum": [-1, 0, 1] }, "cracked": { "type": "integer" }, "numGpus": { "type": "integer" }, "start": { "type": "integer", "format": "int64" }, @@ -17032,8 +17292,8 @@ "properties": { "healthCheckId": { "type": "integer" }, "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer" }, - "checkType": { "type": "integer" }, + "status": { "type": "integer", "enum": [-1, 0, 1] }, + "checkType": { "type": "integer", "enum": [0, 3200] }, "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" }, "expectedCracks": { "type": "integer" }, @@ -17085,10 +17345,11 @@ "attributes": { "type": "object", "properties": { - "checkType": { "type": "integer" }, + "checkType": { "type": "integer", "enum": [0, 3200] }, "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" } - } + }, + "required": ["checkType", "hashtypeId", "crackerBinaryId"] } } } @@ -17103,7 +17364,10 @@ "required": ["type", "attributes"], "properties": { "type": { "type": "string", "const": "healthCheck" }, - "attributes": { "type": "object", "properties": { "checkType": { "type": "integer" } } } + "attributes": { + "type": "object", + "properties": { "checkType": { "type": "integer", "enum": [0, 3200] } } + } } } } @@ -17117,7 +17381,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -17150,8 +17418,8 @@ ], "properties": { "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer" }, - "checkType": { "type": "integer" }, + "status": { "type": "integer", "enum": [-1, 0, 1] }, + "checkType": { "type": "integer", "enum": [0, 3200] }, "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" }, "expectedCracks": { "type": "integer" }, @@ -17258,7 +17526,7 @@ "healthCheckAgentId": { "type": "integer" }, "healthCheckId": { "type": "integer" }, "agentId": { "type": "integer" }, - "status": { "type": "integer" }, + "status": { "type": "integer", "enum": [-1, 0, 1] }, "cracked": { "type": "integer" }, "numGpus": { "type": "integer" }, "start": { "type": "integer", "format": "int64" }, @@ -17280,7 +17548,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -17302,8 +17574,8 @@ ], "properties": { "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer" }, - "checkType": { "type": "integer" }, + "status": { "type": "integer", "enum": [-1, 0, 1] }, + "checkType": { "type": "integer", "enum": [0, 3200] }, "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" }, "expectedCracks": { "type": "integer" }, @@ -17323,7 +17595,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -17358,8 +17634,8 @@ ], "properties": { "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer" }, - "checkType": { "type": "integer" }, + "status": { "type": "integer", "enum": [-1, 0, 1] }, + "checkType": { "type": "integer", "enum": [0, 3200] }, "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" }, "expectedCracks": { "type": "integer" }, @@ -17467,7 +17743,7 @@ "healthCheckAgentId": { "type": "integer" }, "healthCheckId": { "type": "integer" }, "agentId": { "type": "integer" }, - "status": { "type": "integer" }, + "status": { "type": "integer", "enum": [-1, 0, 1] }, "cracked": { "type": "integer" }, "numGpus": { "type": "integer" }, "start": { "type": "integer", "format": "int64" }, @@ -17551,7 +17827,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -17575,9 +17855,9 @@ "type": "object", "required": ["issuer", "issuerId", "level", "message", "time"], "properties": { - "issuer": { "type": "string" }, + "issuer": { "type": "string", "enum": ["API", "User"] }, "issuerId": { "type": "string" }, - "level": { "type": "string" }, + "level": { "type": "string", "enum": ["warning", "error", "fatal error", "information"] }, "message": { "type": "string" }, "time": { "type": "integer", "format": "int64" } } @@ -17597,7 +17877,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -17610,9 +17894,9 @@ "type": "object", "required": ["issuer", "issuerId", "level", "message", "time"], "properties": { - "issuer": { "type": "string" }, + "issuer": { "type": "string", "enum": ["API", "User"] }, "issuerId": { "type": "string" }, - "level": { "type": "string" }, + "level": { "type": "string", "enum": ["warning", "error", "fatal error", "information"] }, "message": { "type": "string" }, "time": { "type": "integer", "format": "int64" } } @@ -17630,7 +17914,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -17656,9 +17944,9 @@ "type": "object", "required": ["issuer", "issuerId", "level", "message", "time"], "properties": { - "issuer": { "type": "string" }, + "issuer": { "type": "string", "enum": ["API", "User"] }, "issuerId": { "type": "string" }, - "level": { "type": "string" }, + "level": { "type": "string", "enum": ["warning", "error", "fatal error", "information"] }, "message": { "type": "string" }, "time": { "type": "integer", "format": "int64" } } @@ -17683,10 +17971,32 @@ "type": "object", "properties": { "actionFilter": { "type": "string" }, - "action": { "type": "string" }, - "notification": { "type": "string" }, + "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, + "notification": { + "type": "string", + "enum": [ + "taskComplete", + "agentError", + "ownAgentError", + "logError", + "newTask", + "newHashlist", + "hashlistAllCracked", + "hashlistCrackedHash", + "userCreated", + "userDeleted", + "userLoginFailed", + "logWarn", + "logFatal", + "newAgent", + "deleteTask", + "deleteHashlist", + "deleteAgent" + ] + }, "receiver": { "type": "string" } - } + }, + "required": ["actionFilter", "action", "notification", "receiver"] } } } @@ -17704,9 +18014,30 @@ "attributes": { "type": "object", "properties": { - "action": { "type": "string" }, + "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, "isActive": { "type": "boolean" }, - "notification": { "type": "string" }, + "notification": { + "type": "string", + "enum": [ + "taskComplete", + "agentError", + "ownAgentError", + "logError", + "newTask", + "newHashlist", + "hashlistAllCracked", + "hashlistCrackedHash", + "userCreated", + "userDeleted", + "userLoginFailed", + "logWarn", + "logFatal", + "newAgent", + "deleteTask", + "deleteHashlist", + "deleteAgent" + ] + }, "receiver": { "type": "string" } } } @@ -17723,7 +18054,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -17747,9 +18082,30 @@ "type": "object", "required": ["action", "objectId", "notification", "userId", "receiver", "isActive"], "properties": { - "action": { "type": "string" }, + "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, "objectId": { "type": "integer" }, - "notification": { "type": "string" }, + "notification": { + "type": "string", + "enum": [ + "taskComplete", + "agentError", + "ownAgentError", + "logError", + "newTask", + "newHashlist", + "hashlistAllCracked", + "hashlistCrackedHash", + "userCreated", + "userDeleted", + "userLoginFailed", + "logWarn", + "logFatal", + "newAgent", + "deleteTask", + "deleteHashlist", + "deleteAgent" + ] + }, "userId": { "type": "integer" }, "receiver": { "type": "string" }, "isActive": { "type": "boolean" } @@ -17797,7 +18153,7 @@ "attributes": { "type": "object", "properties": { - "userId": { "type": "integer" }, + "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, "passwordHash": { "type": "string" }, @@ -17829,7 +18185,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -17842,9 +18202,30 @@ "type": "object", "required": ["action", "objectId", "notification", "userId", "receiver", "isActive"], "properties": { - "action": { "type": "string" }, + "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, "objectId": { "type": "integer" }, - "notification": { "type": "string" }, + "notification": { + "type": "string", + "enum": [ + "taskComplete", + "agentError", + "ownAgentError", + "logError", + "newTask", + "newHashlist", + "hashlistAllCracked", + "hashlistCrackedHash", + "userCreated", + "userDeleted", + "userLoginFailed", + "logWarn", + "logFatal", + "newAgent", + "deleteTask", + "deleteHashlist", + "deleteAgent" + ] + }, "userId": { "type": "integer" }, "receiver": { "type": "string" }, "isActive": { "type": "boolean" } @@ -17863,7 +18244,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -17889,9 +18274,30 @@ "type": "object", "required": ["action", "objectId", "notification", "userId", "receiver", "isActive"], "properties": { - "action": { "type": "string" }, + "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, "objectId": { "type": "integer" }, - "notification": { "type": "string" }, + "notification": { + "type": "string", + "enum": [ + "taskComplete", + "agentError", + "ownAgentError", + "logError", + "newTask", + "newHashlist", + "hashlistAllCracked", + "hashlistCrackedHash", + "userCreated", + "userDeleted", + "userLoginFailed", + "logWarn", + "logFatal", + "newAgent", + "deleteTask", + "deleteHashlist", + "deleteAgent" + ] + }, "userId": { "type": "integer" }, "receiver": { "type": "string" }, "isActive": { "type": "boolean" } @@ -17940,7 +18346,7 @@ "attributes": { "type": "object", "properties": { - "userId": { "type": "integer" }, + "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, "passwordHash": { "type": "string" }, @@ -18003,7 +18409,8 @@ "keyspaceCommand": { "type": "string" }, "skipCommand": { "type": "string" }, "limitCommand": { "type": "string" } - } + }, + "required": ["name", "url", "binaryName", "keyspaceCommand", "skipCommand", "limitCommand"] } } } @@ -18042,7 +18449,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -18089,7 +18500,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -18123,7 +18538,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -18164,7 +18583,7 @@ "included": { "type": "array", "items": { "type": "object", "properties": {} } } } }, - "PretaskCreate": { + "PreTaskCreate": { "type": "object", "required": ["data"], "properties": { @@ -18172,7 +18591,7 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "pretask" }, + "type": { "type": "string", "const": "preTask" }, "attributes": { "type": "object", "properties": { @@ -18189,13 +18608,28 @@ "maxAgents": { "type": "integer" }, "isMaskImport": { "type": "boolean" }, "crackerBinaryTypeId": { "type": "integer" } - } + }, + "required": [ + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "priority", + "maxAgents", + "isMaskImport", + "crackerBinaryTypeId" + ] } } } } }, - "PretaskPatch": { + "PreTaskPatch": { "type": "object", "required": ["data"], "properties": { @@ -18203,7 +18637,7 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "pretask" }, + "type": { "type": "string", "const": "preTask" }, "attributes": { "type": "object", "properties": { @@ -18224,7 +18658,7 @@ } } }, - "PretaskResponse": { + "PreTaskResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -18233,7 +18667,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -18252,7 +18690,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "pretask" }, + "type": { "type": "string", "const": "preTask" }, "attributes": { "type": "object", "required": [ @@ -18331,7 +18769,7 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer" }, + "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -18341,7 +18779,7 @@ } } }, - "PretaskPostPatchResponse": { + "PreTaskPostPatchResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -18350,7 +18788,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -18358,7 +18800,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "pretask" }, + "type": { "type": "string", "const": "preTask" }, "attributes": { "type": "object", "required": [ @@ -18395,7 +18837,7 @@ } } }, - "PretaskListResponse": { + "PreTaskListResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -18404,7 +18846,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -18425,7 +18871,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "pretask" }, + "type": { "type": "string", "const": "preTask" }, "attributes": { "type": "object", "required": [ @@ -18505,7 +18951,7 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer" }, + "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -18515,7 +18961,7 @@ } } }, - "PretaskRelationPretaskFiles": { + "PreTaskRelationPretaskFiles": { "type": "object", "required": ["data"], "properties": { @@ -18532,7 +18978,7 @@ } } }, - "PretaskRelationPretaskFilesGetResponse": { + "PreTaskRelationPretaskFilesGetResponse": { "type": "object", "required": ["data"], "properties": { @@ -18558,7 +19004,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -18696,7 +19146,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -18864,7 +19318,8 @@ "properties": { "pretasks": { "type": "array", "items": { "type": "integer" } }, "supertaskName": { "type": "string" } - } + }, + "required": ["pretasks", "supertaskName"] } } } @@ -18893,7 +19348,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -19064,7 +19523,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -19091,7 +19554,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -19248,7 +19715,30 @@ "forcePipe": { "type": "boolean" }, "preprocessorId": { "type": "integer" }, "preprocessorCommand": { "type": "string" } - } + }, + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "priority", + "maxAgents", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ] } } } @@ -19292,7 +19782,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -19556,7 +20050,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -19639,7 +20137,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -19963,7 +20465,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -20392,7 +20898,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -20437,7 +20947,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -20704,7 +21218,8 @@ "name": { "type": "string" }, "email": { "type": "string" }, "globalPermissionGroupId": { "type": "integer" } - } + }, + "required": ["name", "email", "globalPermissionGroupId"] } } } @@ -20741,7 +21256,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -20879,7 +21398,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -20934,7 +21457,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -21100,7 +21627,7 @@ } } }, - "RegVoucherCreate": { + "VoucherCreate": { "type": "object", "required": ["data"], "properties": { @@ -21108,13 +21635,17 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "regVoucher" }, - "attributes": { "type": "object", "properties": { "voucher": { "type": "string" } } } + "type": { "type": "string", "const": "voucher" }, + "attributes": { + "type": "object", + "properties": { "voucher": { "type": "string" } }, + "required": ["voucher"] + } } } } }, - "RegVoucherPatch": { + "VoucherPatch": { "type": "object", "required": ["data"], "properties": { @@ -21122,13 +21653,13 @@ "type": "object", "required": ["type", "attributes"], "properties": { - "type": { "type": "string", "const": "regVoucher" }, + "type": { "type": "string", "const": "voucher" }, "attributes": { "type": "object", "properties": { "voucher": { "type": "string" } } } } } } }, - "RegVoucherResponse": { + "VoucherResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -21137,7 +21668,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -21156,7 +21691,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "regVoucher" }, + "type": { "type": "string", "const": "voucher" }, "attributes": { "type": "object", "required": ["voucher", "time"], @@ -21168,7 +21703,7 @@ "included": { "type": "array", "items": { "type": "object", "properties": {} } } } }, - "RegVoucherPostPatchResponse": { + "VoucherPostPatchResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -21177,7 +21712,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "data": { @@ -21185,7 +21724,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "regVoucher" }, + "type": { "type": "string", "const": "voucher" }, "attributes": { "type": "object", "required": ["voucher", "time"], @@ -21195,7 +21734,7 @@ } } }, - "RegVoucherListResponse": { + "VoucherListResponse": { "type": "object", "required": ["jsonapi", "data"], "properties": { @@ -21204,7 +21743,11 @@ "required": ["version"], "properties": { "version": { "type": "string", "default": "1.1" }, - "ext": { "type": "string", "default": "https://jsonapi.org/profiles/ethanresnick/cursor-pagination" } + "ext": { + "type": "array", + "items": { "type": "string" }, + "default": ["https://jsonapi.org/profiles/ethanresnick/cursor-pagination"] + } } }, "links": { @@ -21225,7 +21768,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "regVoucher" }, + "type": { "type": "string", "const": "voucher" }, "attributes": { "type": "object", "required": ["voucher", "time"], @@ -21483,35 +22026,35 @@ }, "tags": [ { "name": "AccessGroups" }, + { "name": "AgentAssignments" }, { "name": "AgentBinarys" }, { "name": "AgentErrors" }, { "name": "AgentStats" }, { "name": "Agents" }, - { "name": "Assignments" }, + { "name": "ApiTokens" }, { "name": "Chunks" }, { "name": "ConfigSections" }, { "name": "Configs" }, { "name": "CrackerBinaryTypes" }, { "name": "CrackerBinarys" }, { "name": "Files" }, + { "name": "GlobalPermissionGroups" }, { "name": "HashTypes" }, { "name": "Hashlists" }, { "name": "Hashs" }, { "name": "HealthCheckAgents" }, { "name": "HealthChecks" }, { "name": "Helpers" }, - { "name": "JwtApiKeys" }, { "name": "LogEntrys" }, { "name": "Login" }, { "name": "NotificationSettings" }, + { "name": "PreTasks" }, { "name": "Preprocessors" }, - { "name": "Pretasks" }, - { "name": "RegVouchers" }, - { "name": "RightGroups" }, { "name": "Speeds" }, { "name": "Supertasks" }, { "name": "TaskWrappers" }, { "name": "Tasks" }, - { "name": "Users" } + { "name": "Users" }, + { "name": "Vouchers" } ] } diff --git a/src/app/agents/edit-agent/edit-agent.component.ts b/src/app/agents/edit-agent/edit-agent.component.ts index 7cf967c60..57eabb62d 100644 --- a/src/app/agents/edit-agent/edit-agent.component.ts +++ b/src/app/agents/edit-agent/edit-agent.component.ts @@ -186,7 +186,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { }) ); - const agent: JAgent = this.serializer.deserialize(response, zAgentResponse) as JAgent; + const agent: JAgent = this.serializer.deserialize(response, zAgentResponse); this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); if (this.agentRoleService.hasRole('readAssignment')) { @@ -209,7 +209,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { if (httpErr?.status && httpErr.status >= 500) { const response = await firstValueFrom(this.gs.get(SERV.AGENTS, this.editedAgentIndex)); - const agent: JAgent = this.serializer.deserialize(response, zAgentResponse) as JAgent; + const agent: JAgent = this.serializer.deserialize(response, zAgentResponse); this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); return; @@ -247,7 +247,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { private loadSelectUsers(): void { const loadUsersSubscription$ = this.gs.getAll(SERV.USERS).subscribe((response: ResponseWrapper) => { this.selectUsers = transformSelectOptions( - this.serializer.deserialize(response, zUserListResponse) as JUser[], + this.serializer.deserialize(response, zUserListResponse), DEFAULT_FIELD_MAPPING ); }); diff --git a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts index 1c7ce1fa0..f9a81bba4 100644 --- a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts +++ b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts @@ -80,7 +80,7 @@ export class ViewHealthChecksComponent implements OnInit, OnDestroy { const loadSubscription$ = this.gs .get(SERV.HEALTH_CHECKS, this.viewedHealthCIndex) .subscribe((response: ResponseWrapper) => { - this.healthc = new JsonAPISerializer().deserialize(response, zHealthCheckResponse) as JHealthCheck; + this.healthc = new JsonAPISerializer().deserialize(response, zHealthCheckResponse); }); this.unsubscribeService.add(loadSubscription$); } diff --git a/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts b/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts index 4d7f03892..e85d755e2 100644 --- a/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts +++ b/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts @@ -14,7 +14,7 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { PRETASKS_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zPretaskListResponse } from '@generated/api/zod.gen'; +import { zPreTaskListResponse } from '@generated/api/zod.gen'; /** * Component class to create a new supertask @@ -81,7 +81,7 @@ export class NewSupertasksComponent implements OnInit, OnDestroy { */ loadData(): void { const loadSubscription$ = this.gs.getAll(SERV.PRETASKS).subscribe((response: ResponseWrapper) => { - const pretasks: JPretask[] = new JsonAPISerializer().deserialize(response, zPretaskListResponse); + const pretasks: JPretask[] = new JsonAPISerializer().deserialize(response, zPreTaskListResponse); this.selectPretasks = transformSelectOptions(pretasks, PRETASKS_FIELD_MAPPING); this.isLoading = false; this.changeDetectorRef.detectChanges(); diff --git a/src/app/core/_datasources/access-permission-groups-expand.datasource.ts b/src/app/core/_datasources/access-permission-groups-expand.datasource.ts index 4ce0a6388..d6b7fd364 100644 --- a/src/app/core/_datasources/access-permission-groups-expand.datasource.ts +++ b/src/app/core/_datasources/access-permission-groups-expand.datasource.ts @@ -9,7 +9,7 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zRightGroupResponse } from '@generated/api/zod.gen'; +import { zGlobalPermissionGroupResponse } from '@generated/api/zod.gen'; export class AccessPermissionGroupsExpandDataSource extends BaseDataSource { private _accesspermgroupId = 0; @@ -41,12 +41,12 @@ export class AccessPermissionGroupsExpandDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zRightGroupResponse) as JGlobalPermissionGroup; + const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zGlobalPermissionGroupResponse) as JGlobalPermissionGroup; let data: (UserPermissions | JUser)[]; if (this._perm) { data = this.processPermissions(globalPermissionGroup); } else { - data = globalPermissionGroup.userMembers as JUser[]; + data = globalPermissionGroup.userMembers; } this.setData(data); }) diff --git a/src/app/core/_datasources/agents.datasource.ts b/src/app/core/_datasources/agents.datasource.ts index 813ea6d9a..d84cc3090 100644 --- a/src/app/core/_datasources/agents.datasource.ts +++ b/src/app/core/_datasources/agents.datasource.ts @@ -16,7 +16,7 @@ import { JUser } from '@models/user.model'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; -import { zAgentListResponse, zAssignmentListResponse, zUserListResponse } from '@generated/api/zod.gen'; +import { zAgentAssignmentListResponse, zAgentListResponse, zUserListResponse } from '@generated/api/zod.gen'; import { BaseDataSource } from '@datasources/base.datasource'; @@ -71,7 +71,7 @@ export class AgentsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(async (response: ResponseWrapper) => { - const agents: JAgent[] = this.serializer.deserialize(response, zAgentListResponse) as JAgent[]; + const agents: JAgent[] = this.serializer.deserialize(response, zAgentListResponse); if (agents && agents.length > 0) { agents.forEach((agent: JAgent) => { @@ -109,7 +109,7 @@ export class AgentsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(async (response: ResponseWrapper) => { - const assignments: JAgentAssignment[] = this.serializer.deserialize(response, zAssignmentListResponse) as JAgentAssignment[]; + const assignments: JAgentAssignment[] = this.serializer.deserialize(response, zAgentAssignmentListResponse); if (assignments && assignments.length > 0) { const userIds: Array = assignments .map((assignment) => assignment.agent.userId) @@ -180,7 +180,7 @@ export class AgentsDataSource extends BaseDataSource { }) ) ); - users = this.serializer.deserialize(response, zUserListResponse) as JUser[]; + users = this.serializer.deserialize(response, zUserListResponse); } catch { // Error already handled via handleFilterError } diff --git a/src/app/core/_datasources/cracks.datasource.ts b/src/app/core/_datasources/cracks.datasource.ts index 09a4d5400..e80af62ff 100644 --- a/src/app/core/_datasources/cracks.datasource.ts +++ b/src/app/core/_datasources/cracks.datasource.ts @@ -86,7 +86,7 @@ export class CracksDataSource extends BaseDataSource { }) ) ); - return this.serializer.deserialize(response, zTaskResponse) as JTask; + return this.serializer.deserialize(response, zTaskResponse); } catch { return null; } diff --git a/src/app/core/_datasources/files.datasource.ts b/src/app/core/_datasources/files.datasource.ts index 4e53ef978..4bac1c1c1 100644 --- a/src/app/core/_datasources/files.datasource.ts +++ b/src/app/core/_datasources/files.datasource.ts @@ -18,7 +18,7 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zFileListResponse, zPretaskResponse, zTaskResponse } from '@generated/api/zod.gen'; +import { zFileListResponse, zPreTaskResponse, zTaskResponse } from '@generated/api/zod.gen'; /** * Data source class definition for files @@ -100,11 +100,11 @@ export class FilesDataSource extends BaseDataSource { ) .subscribe((response: ResponseWrapper) => { if (this.editIndex !== undefined && this.editType === 0) { - const tasks: JTask = this.serializer.deserialize(response, zTaskResponse) as JTask; + const tasks: JTask = this.serializer.deserialize(response, zTaskResponse); this.setData(tasks.files as JFile[]); } else if (this.editType === 1) { - const pretask: JPretask = this.serializer.deserialize(response, zPretaskResponse) as JPretask; + const pretask: JPretask = this.serializer.deserialize(response, zPreTaskResponse); if (!this.editType) { const nextLink = response.links.next; diff --git a/src/app/core/_datasources/hashlists.datasource.ts b/src/app/core/_datasources/hashlists.datasource.ts index 35f74e4c7..525a4ea82 100644 --- a/src/app/core/_datasources/hashlists.datasource.ts +++ b/src/app/core/_datasources/hashlists.datasource.ts @@ -61,7 +61,7 @@ export class HashlistsDataSource extends BaseDataSource { if (!response) { return; // Don't update data if there was an error } - const superHashList: JHashlist = this.serializer.deserialize(response, zHashlistResponse) as JHashlist; + const superHashList: JHashlist = this.serializer.deserialize(response, zHashlistResponse); this.setData(superHashList.hashlists as JHashlist[]); const length = response.meta.page.total_elements; const nextLink = response.links.next; @@ -101,7 +101,7 @@ export class HashlistsDataSource extends BaseDataSource { if (!response) { return; // Don't update data if there was an error } - const deserialized: JHashlist[] = this.serializer.deserialize(response, zHashlistListResponse) as JHashlist[]; + const deserialized: JHashlist[] = this.serializer.deserialize(response, zHashlistListResponse); if (!deserialized || !Array.isArray(deserialized)) { return; // Safety check: if deserialize returns null or non-array, exit } diff --git a/src/app/core/_datasources/logs.datasource.ts b/src/app/core/_datasources/logs.datasource.ts index e3d3b3178..1c472e785 100644 --- a/src/app/core/_datasources/logs.datasource.ts +++ b/src/app/core/_datasources/logs.datasource.ts @@ -46,6 +46,7 @@ export class LogsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { + // @TODO: Type Assertion, remove if possible const logs: JLog[] = this.serializer.deserialize(response, zLogEntryListResponse) as JLog[]; /* this causes an infinite loop when searching im not sure what is the purpose of it since no other load all has it diff --git a/src/app/core/_datasources/permissions.datasource.ts b/src/app/core/_datasources/permissions.datasource.ts index 6d6679006..d5239e8ba 100644 --- a/src/app/core/_datasources/permissions.datasource.ts +++ b/src/app/core/_datasources/permissions.datasource.ts @@ -12,7 +12,7 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zRightGroupListResponse } from '@generated/api/zod.gen'; +import { zGlobalPermissionGroupListResponse } from '@generated/api/zod.gen'; export class PermissionsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -43,7 +43,7 @@ export class PermissionsDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const globalPermissionGroups: JGlobalPermissionGroup[] = this.serializer.deserialize(response, zRightGroupListResponse) as JGlobalPermissionGroup[]; + const globalPermissionGroups: JGlobalPermissionGroup[] = this.serializer.deserialize(response, zGlobalPermissionGroupListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/preconfigured-tasks.datasource.ts b/src/app/core/_datasources/preconfigured-tasks.datasource.ts index 42cd9fede..b6a7f71f5 100644 --- a/src/app/core/_datasources/preconfigured-tasks.datasource.ts +++ b/src/app/core/_datasources/preconfigured-tasks.datasource.ts @@ -14,7 +14,7 @@ import { IParamBuilder } from '@services/params/builder-types.service'; import { BaseDataSource } from '@datasources/base.datasource'; -import { zPretaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; +import { zPreTaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; export class PreTasksDataSource extends BaseDataSource { private _superTaskId = 0; @@ -111,7 +111,7 @@ export class PreTasksDataSource extends BaseDataSource { const before = prevLink ? new URL(response.links.prev).searchParams.get('page[before]') : null; this.setPaginationConfig(this.pageSize, length, after, before, this.index); - return this.serializer.deserialize(response, zPretaskListResponse) as JPretask[]; + return this.serializer.deserialize(response, zPreTaskListResponse); } catch { return []; } @@ -129,7 +129,7 @@ export class PreTasksDataSource extends BaseDataSource { ) ); - return this.serializer.deserialize(response, zSupertaskResponse) as JSuperTask; + return this.serializer.deserialize(response, zSupertaskResponse); } catch { return null; } @@ -170,7 +170,7 @@ export class PreTasksDataSource extends BaseDataSource { const before = prevLink ? new URL(prevLink).searchParams.get('page[before]') : null; this.setPaginationConfig(this.pageSize, length, after, before, this.index); - return this.serializer.deserialize(response, zPretaskListResponse) as JPretask[]; + return this.serializer.deserialize(response, zPreTaskListResponse); } catch { return []; } diff --git a/src/app/core/_datasources/search-hash.datasource.ts b/src/app/core/_datasources/search-hash.datasource.ts index 06af16204..ce006cc32 100644 --- a/src/app/core/_datasources/search-hash.datasource.ts +++ b/src/app/core/_datasources/search-hash.datasource.ts @@ -62,7 +62,7 @@ export class SearchHashDataSource extends BaseDataSource { }) ) .subscribe((response: ResponseWrapper) => { - const hashes = this.convertHashes(this.serializer.deserialize(response, zHashListResponse) as JHash[]); + const hashes = this.convertHashes(this.serializer.deserialize(response, zHashListResponse)); this.checkMissingHashes(hashes); this.setData(hashes); }) diff --git a/src/app/core/_datasources/super-hashlists.datasource.ts b/src/app/core/_datasources/super-hashlists.datasource.ts index b5af2ce4d..75bcf13e6 100644 --- a/src/app/core/_datasources/super-hashlists.datasource.ts +++ b/src/app/core/_datasources/super-hashlists.datasource.ts @@ -52,7 +52,7 @@ export class SuperHashlistsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const superHashlists: JHashlist[] = this.serializer.deserialize(response, zHashlistListResponse) as JHashlist[]; + const superHashlists: JHashlist[] = this.serializer.deserialize(response, zHashlistListResponse); const rows: JHashlist[] = []; superHashlists.forEach((superHashlist) => { diff --git a/src/app/core/_datasources/supertasks-pretasks.datasource.ts b/src/app/core/_datasources/supertasks-pretasks.datasource.ts index aedd370ed..5b027b5f2 100644 --- a/src/app/core/_datasources/supertasks-pretasks.datasource.ts +++ b/src/app/core/_datasources/supertasks-pretasks.datasource.ts @@ -30,7 +30,9 @@ export class SuperTasksPretasksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const pretasks = (this.serializer.deserialize(response, zSupertaskResponse) as JSuperTask).pretasks as JPretask[]; + // @TODO: Type Assertion, remove if possible + const superTask = this.serializer.deserialize(response, zSupertaskResponse) as JSuperTask; + const pretasks = superTask.pretasks; this.setData(pretasks); }) ); diff --git a/src/app/core/_datasources/tasks-chunks.datasource.ts b/src/app/core/_datasources/tasks-chunks.datasource.ts index 06566cdf6..b9b5071d7 100644 --- a/src/app/core/_datasources/tasks-chunks.datasource.ts +++ b/src/app/core/_datasources/tasks-chunks.datasource.ts @@ -55,7 +55,7 @@ export class TasksChunksDataSource extends BaseDataSource { }) ) ); - const task: JTask = this.serializer.deserialize(response, zTaskResponse) as JTask; + const task: JTask = this.serializer.deserialize(response, zTaskResponse); chunkTime = task.chunkTime; } catch { // Error already handled via handleFilterError diff --git a/src/app/core/_datasources/vouchers.datasource.ts b/src/app/core/_datasources/vouchers.datasource.ts index 90ede5289..39480e704 100644 --- a/src/app/core/_datasources/vouchers.datasource.ts +++ b/src/app/core/_datasources/vouchers.datasource.ts @@ -8,7 +8,7 @@ import { JVoucher } from '@src/app/core/_models/voucher.model'; import { SERV } from '@src/app/core/_services/main.config'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zRegVoucherListResponse } from '@generated/api/zod.gen'; +import { zVoucherListResponse } from '@generated/api/zod.gen'; export class VouchersDataSource extends BaseDataSource { loadAll(query?: Filter): void { @@ -26,7 +26,7 @@ export class VouchersDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const vouchers: JVoucher[] = this.serializer.deserialize(response, zRegVoucherListResponse); + const vouchers: JVoucher[] = this.serializer.deserialize(response, zVoucherListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_services/permission/permission.service.ts b/src/app/core/_services/permission/permission.service.ts index b64b0b7a4..4b18c50d6 100644 --- a/src/app/core/_services/permission/permission.service.ts +++ b/src/app/core/_services/permission/permission.service.ts @@ -10,7 +10,7 @@ import { SERV } from '@services/main.config'; import { GlobalService } from '@services/main.service'; import { LocalStorageService } from '@services/storage/local-storage.service'; -import { zRightGroupResponse } from '@generated/api/zod.gen'; +import { zGlobalPermissionGroupResponse } from '@generated/api/zod.gen'; import { PermissionValues } from '@src/app/core/_constants/userpermissions.config'; @@ -46,7 +46,7 @@ export class PermissionService { return this.gs.ghelper(SERV.HELPER, 'getUserPermission').pipe( take(1), map((response: ResponseWrapper) => { - const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zRightGroupResponse) as JGlobalPermissionGroup; + const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zGlobalPermissionGroupResponse); const permissions = globalPermissionGroup.permissions; this.currentPermissions = permissions; diff --git a/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts b/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts index 4f40a0979..88bc10d3f 100644 --- a/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts +++ b/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts @@ -128,7 +128,7 @@ export class EditHashlistComponent implements OnInit, OnDestroy, CanComponentDea try { const response = await firstValueFrom(this.http.get(url, { params })); - const hashlist: JHashlist = new JsonAPISerializer().deserialize(response, zHashlistResponse) as JHashlist; + const hashlist: JHashlist = new JsonAPISerializer().deserialize(response, zHashlistResponse); this.editedHashlist = hashlist; this.type = hashlist.format; @@ -156,7 +156,7 @@ export class EditHashlistComponent implements OnInit, OnDestroy, CanComponentDea console.warn('loadHashlist(): request with includes failed, retrying without includes', err); const responseFallback = await firstValueFrom(this.http.get(url)); - const hashlist: JHashlist = new JsonAPISerializer().deserialize(responseFallback, zHashlistResponse) as JHashlist; + const hashlist: JHashlist = new JsonAPISerializer().deserialize(responseFallback, zHashlistResponse); this.editedHashlist = hashlist; this.type = hashlist.format; diff --git a/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts b/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts index a092664d7..87cf30a92 100644 --- a/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts +++ b/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts @@ -360,7 +360,7 @@ export class ImportCrackedHashesComponent implements OnInit, OnDestroy { include: ['tasks,hashlists,hashType'] }) .subscribe((response: ResponseWrapper) => { - const hashlist: JHashlist = new JsonAPISerializer().deserialize(response, zHashlistResponse) as JHashlist; + const hashlist: JHashlist = new JsonAPISerializer().deserialize(response, zHashlistResponse); this.type = hashlist.format; this.hashtype = hashlist.hashType; diff --git a/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts b/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts index 7f160e3ce..da7d7ebc2 100644 --- a/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts +++ b/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts @@ -22,7 +22,7 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { yesNo } from '@src/app/core/_constants/general.config'; import { attackCommandWithAliasValidator } from '@src/app/core/_validators/attack-command.validator'; -import { zPretaskResponse } from '@generated/api/zod.gen'; +import { zPreTaskResponse } from '@generated/api/zod.gen'; /** * Represents the EditPreconfiguredTasksComponent responsible for editing a Pretask. @@ -149,7 +149,7 @@ export class EditPreconfiguredTasksComponent implements OnInit, OnDestroy { const response = await firstValueFrom(this.http.get(url)); - const pretask: JPretask = this.serializer.deserialize(response, zPretaskResponse); + const pretask: JPretask = this.serializer.deserialize(response, zPreTaskResponse); this.updateForm = new FormGroup({ pretaskId: new FormControl({ diff --git a/src/app/tasks/edit-supertasks/edit-supertasks.component.ts b/src/app/tasks/edit-supertasks/edit-supertasks.component.ts index 9615b124b..0f174c77d 100644 --- a/src/app/tasks/edit-supertasks/edit-supertasks.component.ts +++ b/src/app/tasks/edit-supertasks/edit-supertasks.component.ts @@ -22,7 +22,7 @@ import { PretasksTableComponent } from '@components/tables/pretasks-table/pretas import { SUPER_TASK_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zPretaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; +import { zPreTaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-edit-supertasks', @@ -138,7 +138,7 @@ export class EditSupertasksComponent implements OnInit, OnDestroy { if (this.roleService.hasRole('editSupertaskPreTasks')) { const loadPTSubscription$ = this.gs.getAll(SERV.PRETASKS).subscribe((responsePT: ResponseWrapper) => { - const pretasks: JPretask[] = this.serializer.deserialize(responsePT, zPretaskListResponse); + const pretasks: JPretask[] = this.serializer.deserialize(responsePT, zPreTaskListResponse); const availablePretasks = this.getAvailablePretasks((supertask as any).pretasks as JPretask[], pretasks); this.selectPretasks = transformSelectOptions(availablePretasks, SUPER_TASK_FIELD_MAPPING); @@ -172,7 +172,7 @@ export class EditSupertasksComponent implements OnInit, OnDestroy { }); // still try to load pretasks list for selection const loadPTSubscription2$ = this.gs.getAll(SERV.PRETASKS).subscribe((responsePT: ResponseWrapper) => { - const pretasks: JPretask[] = this.serializer.deserialize(responsePT, zPretaskListResponse); + const pretasks: JPretask[] = this.serializer.deserialize(responsePT, zPreTaskListResponse); const availablePretasks = this.getAvailablePretasks((supertask2 as any).pretasks as JPretask[], pretasks); this.selectPretasks = transformSelectOptions(availablePretasks, SUPER_TASK_FIELD_MAPPING); this.isLoading = false; diff --git a/src/app/tasks/edit-tasks/edit-tasks.component.ts b/src/app/tasks/edit-tasks/edit-tasks.component.ts index 5b42b904d..c448fe978 100644 --- a/src/app/tasks/edit-tasks/edit-tasks.component.ts +++ b/src/app/tasks/edit-tasks/edit-tasks.component.ts @@ -35,7 +35,7 @@ import { FileSizePipe } from '@src/app/core/_pipes/file-size.pipe'; import { attackCommandWithAliasValidator } from '@src/app/core/_validators/attack-command.validator'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zAgentListResponse, zAssignmentListResponse, zHashTypeResponse, zSpeedListResponse, zTaskResponse } from '@generated/api/zod.gen'; +import { zAgentAssignmentListResponse, zAgentListResponse, zHashTypeResponse, zSpeedListResponse, zTaskResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-edit-tasks', @@ -256,7 +256,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { try { const response = await firstValueFrom(this.http.get(url, { params })); - return this.serializer.deserialize(response, zTaskResponse) as JTask; + return this.serializer.deserialize(response, zTaskResponse); } catch (err: unknown) { // If backend fails with server error (500+), try a fallback request without includes. // This helps when the server chokes resolving included relationships but the main @@ -264,7 +264,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { if (err instanceof HttpErrorResponse && err.status && err.status >= 500) { console.warn('loadTask(): primary request failed, retrying without includes', err); const responseFallback = await firstValueFrom(this.http.get(url)); - return this.serializer.deserialize(responseFallback, zTaskResponse) as JTask; + return this.serializer.deserialize(responseFallback, zTaskResponse); } throw err; } @@ -362,7 +362,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { const paramsAgentAssign = new RequestParamBuilder(); paramsAgentAssign.addFilter({ field: 'taskId', operator: FilterType.EQUAL, value: this.editedTaskIndex }); this.gs.getAll(SERV.AGENT_ASSIGN, paramsAgentAssign.create()).subscribe((responseAssignments: ResponseWrapper) => { - const agentAssignments: JAgentAssignment[] = this.serializer.deserialize(responseAssignments, zAssignmentListResponse); + const agentAssignments: JAgentAssignment[] = this.serializer.deserialize(responseAssignments, zAgentAssignmentListResponse); const agentAssignmentsAgentIds: Array = agentAssignments.map( (agentAssignment) => agentAssignment.agentId ); diff --git a/src/app/tasks/import-supertasks/masks/masks.component.ts b/src/app/tasks/import-supertasks/masks/masks.component.ts index b5ada1856..c0710ad57 100644 --- a/src/app/tasks/import-supertasks/masks/masks.component.ts +++ b/src/app/tasks/import-supertasks/masks/masks.component.ts @@ -20,7 +20,7 @@ import { ResponseWrapper } from '@src/app/core/_models/response.model'; import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zCrackerBinaryTypeListResponse, zPretaskResponse } from '@generated/api/zod.gen'; +import { zCrackerBinaryTypeListResponse, zPreTaskResponse } from '@generated/api/zod.gen'; /** * ImportSupertaskMaskComponent is a component responsible for importing SuperTasks with masks. @@ -170,7 +170,7 @@ export class MasksComponent implements OnInit, OnDestroy { // Create a subscription promise and push it to the array const subscriptionPromise = new Promise((resolve, reject) => { const onSubmitSubscription$ = this.gs.create(SERV.PRETASKS, payload).subscribe((result) => { - const pretask: JPretask = new JsonAPISerializer().deserialize(result, zPretaskResponse); + const pretask: JPretask = new JsonAPISerializer().deserialize(result, zPreTaskResponse); preTasksIds.push(pretask.id); resolve(); // Resolve the promise when subscription completes }, reject); // Reject the promise if there's an error diff --git a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts index 5982d52e0..0d1699488 100644 --- a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts +++ b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts @@ -22,7 +22,7 @@ import { CRACKER_TYPE_FIELD_MAPPING } from '@src/app/core/_constants/select.conf import { benchmarkType } from '@src/app/core/_constants/tasks.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zCrackerBinaryTypeListResponse, zFileResponse, zPretaskResponse } from '@generated/api/zod.gen'; +import { zCrackerBinaryTypeListResponse, zFileResponse, zPreTaskResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-wrbulk', @@ -165,7 +165,7 @@ export class WrbulkComponent implements OnInit, OnDestroy { payload.attackCmd = updatedAttackCmd; const result: ResponseWrapper = await firstValueFrom(this.gs.create(SERV.PRETASKS, payload)); - const pretask: JPretask = new JsonAPISerializer().deserialize(result, zPretaskResponse); + const pretask: JPretask = new JsonAPISerializer().deserialize(result, zPreTaskResponse); preTasksIds.push(pretask.id); }); diff --git a/src/app/users/edit-users/edit-users.component.ts b/src/app/users/edit-users/edit-users.component.ts index 53ebb321b..83d469b90 100644 --- a/src/app/users/edit-users/edit-users.component.ts +++ b/src/app/users/edit-users/edit-users.component.ts @@ -28,7 +28,7 @@ import { getEditUserForm, getUpdatePassForm } from '@src/app/users/edit-users/edit-user.form'; -import { zRightGroupListResponse, zUserResponse } from '@generated/api/zod.gen'; +import { zGlobalPermissionGroupListResponse, zUserResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-edit-users', @@ -116,7 +116,7 @@ export class EditUsersComponent implements OnInit, OnDestroy { const loaduserAGPSubscription$ = this.gs .get(SERV.USERS, this.editedUserIndex, params) .subscribe((response: ResponseWrapper) => { - const user: JUser = new JsonAPISerializer().deserialize(response, zUserResponse) as JUser; + const user: JUser = new JsonAPISerializer().deserialize(response, zUserResponse); this.selectUserAgps = transformSelectOptions(user.accessGroups, USER_AGP_FIELD_MAPPING); this.editedUserName = user.name; }); @@ -126,7 +126,7 @@ export class EditUsersComponent implements OnInit, OnDestroy { const loadAGPSubscription$ = this.gs .getAll(SERV.ACCESS_PERMISSIONS_GROUPS) .subscribe((response: ResponseWrapper) => { - const globalPermissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize(response, zRightGroupListResponse) as JGlobalPermissionGroup[]; + const globalPermissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize(response, zGlobalPermissionGroupListResponse); this.selectGlobalPermissionGroups = transformSelectOptions(globalPermissionGroups, DEFAULT_FIELD_MAPPING); this.isLoading = false; this.changeDetectorRef.detectChanges(); @@ -144,7 +144,7 @@ export class EditUsersComponent implements OnInit, OnDestroy { const loadSubscription$ = this.gs .get(SERV.USERS, this.editedUserIndex, params) .subscribe((response: ResponseWrapper) => { - const user: JUser = new JsonAPISerializer().deserialize(response, zUserResponse) as JUser; + const user: JUser = new JsonAPISerializer().deserialize(response, zUserResponse); this.updateForm.setValue({ id: user.id, diff --git a/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts b/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts index 23d6d942f..096f0de77 100644 --- a/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts +++ b/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts @@ -15,7 +15,7 @@ import { AlertService } from '@services/shared/alert.service'; import { AutoTitleService } from '@services/shared/autotitle.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; -import { zRightGroupResponse } from '@generated/api/zod.gen'; +import { zGlobalPermissionGroupResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-edit-globalpermissionsgroups', @@ -94,7 +94,7 @@ export class EditGlobalpermissionsgroupsComponent implements OnInit, OnDestroy { }) .subscribe((response: ResponseWrapper) => { if (response) { - this.editedGPG = new JsonAPISerializer().deserialize(response, zRightGroupResponse) as JGlobalPermissionGroup; + this.editedGPG = new JsonAPISerializer().deserialize(response, zGlobalPermissionGroupResponse); const formValues = this.buildFormValues(); this.updateForm.patchValue(formValues); } diff --git a/src/app/users/new-user/new-user.component.ts b/src/app/users/new-user/new-user.component.ts index 24dfafdd4..4fcf17979 100644 --- a/src/app/users/new-user/new-user.component.ts +++ b/src/app/users/new-user/new-user.component.ts @@ -18,7 +18,7 @@ import { AlertService } from '@services/shared/alert.service'; import { DEFAULT_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; import { NewUserForm, getNewUserForm } from '@src/app/users/new-user/new-user.form'; -import { zRightGroupListResponse } from '@generated/api/zod.gen'; +import { zGlobalPermissionGroupListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-new-user', @@ -47,7 +47,7 @@ export class NewUserComponent implements OnInit { try { const response = await firstValueFrom(this.gs.getAll(SERV.ACCESS_PERMISSIONS_GROUPS)); - const permissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize(response, zRightGroupListResponse) as JGlobalPermissionGroup[]; + const permissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize(response, zGlobalPermissionGroupListResponse); this.selectGlobalPermissionGroups = transformSelectOptions(permissionGroups, DEFAULT_FIELD_MAPPING); } catch { this.alert.showErrorMessage('Error fetching permission groups'); diff --git a/src/generated/api/index.ts b/src/generated/api/index.ts index 5a7f91274..8627a324d 100644 --- a/src/generated/api/index.ts +++ b/src/generated/api/index.ts @@ -1,3 +1,3 @@ // This file is auto-generated by @hey-api/openapi-ts -export type { AbortChunkHelperApi, AbortChunkHelperApiResponse, AccessGroupCreate, AccessGroupListResponse, AccessGroupPatch, AccessGroupPostPatchResponse, AccessGroupRelationAgentMembers, AccessGroupRelationAgentMembersGetResponse, AccessGroupResponse, AgentBinaryCreate, AgentBinaryListResponse, AgentBinaryPatch, AgentBinaryPostPatchResponse, AgentBinaryResponse, AgentErrorListResponse, AgentErrorRelationTask, AgentErrorRelationTaskGetResponse, AgentErrorResponse, AgentListResponse, AgentPatch, AgentPostPatchResponse, AgentRelationAssignments, AgentRelationAssignmentsGetResponse, AgentResponse, AgentStatListResponse, AgentStatResponse, AssignAgentHelperApi, AssignAgentHelperApiResponse, AssignmentCreate, AssignmentListResponse, AssignmentPatch, AssignmentPostPatchResponse, AssignmentRelationTask, AssignmentRelationTaskGetResponse, AssignmentResponse, BulkSupertaskBuilderHelperApi, ChangeOwnPasswordHelperApi, ChangeOwnPasswordHelperApiResponse, ChunkListResponse, ChunkRelationTask, ChunkRelationTaskGetResponse, ChunkResponse, ClientOptions, ConfigListResponse, ConfigPatch, ConfigPostPatchResponse, ConfigRelationConfigSection, ConfigRelationConfigSectionGetResponse, ConfigResponse, ConfigSectionListResponse, ConfigSectionResponse, CrackerBinaryCreate, CrackerBinaryListResponse, CrackerBinaryPatch, CrackerBinaryPostPatchResponse, CrackerBinaryRelationTasks, CrackerBinaryRelationTasksGetResponse, CrackerBinaryResponse, CrackerBinaryTypeCreate, CrackerBinaryTypeListResponse, CrackerBinaryTypePatch, CrackerBinaryTypePostPatchResponse, CrackerBinaryTypeRelationTasks, CrackerBinaryTypeRelationTasksGetResponse, CrackerBinaryTypeResponse, CreateSuperHashlistHelperApi, CreateSupertaskHelperApi, DeleteAccessgroupsByIdData, DeleteAccessgroupsByIdError, DeleteAccessgroupsByIdErrors, DeleteAccessgroupsByIdRelationshipsByRelationData, DeleteAccessgroupsByIdRelationshipsByRelationError, DeleteAccessgroupsByIdRelationshipsByRelationErrors, DeleteAccessgroupsByIdRelationshipsByRelationResponse, DeleteAccessgroupsByIdRelationshipsByRelationResponses, DeleteAccessgroupsByIdResponse, DeleteAccessgroupsByIdResponses, DeleteAccessgroupsData, DeleteAccessgroupsError, DeleteAccessgroupsErrors, DeleteAccessgroupsResponses, DeleteAgentassignmentsByIdData, DeleteAgentassignmentsByIdError, DeleteAgentassignmentsByIdErrors, DeleteAgentassignmentsByIdResponse, DeleteAgentassignmentsByIdResponses, DeleteAgentassignmentsData, DeleteAgentassignmentsError, DeleteAgentassignmentsErrors, DeleteAgentassignmentsResponses, DeleteAgentbinariesByIdData, DeleteAgentbinariesByIdError, DeleteAgentbinariesByIdErrors, DeleteAgentbinariesByIdResponse, DeleteAgentbinariesByIdResponses, DeleteAgentbinariesData, DeleteAgentbinariesError, DeleteAgentbinariesErrors, DeleteAgentbinariesResponses, DeleteAgenterrorsByIdData, DeleteAgenterrorsByIdError, DeleteAgenterrorsByIdErrors, DeleteAgenterrorsByIdResponse, DeleteAgenterrorsByIdResponses, DeleteAgenterrorsData, DeleteAgenterrorsError, DeleteAgenterrorsErrors, DeleteAgenterrorsResponses, DeleteAgentsByIdData, DeleteAgentsByIdError, DeleteAgentsByIdErrors, DeleteAgentsByIdRelationshipsByRelationData, DeleteAgentsByIdRelationshipsByRelationError, DeleteAgentsByIdRelationshipsByRelationErrors, DeleteAgentsByIdRelationshipsByRelationResponse, DeleteAgentsByIdRelationshipsByRelationResponses, DeleteAgentsByIdResponse, DeleteAgentsByIdResponses, DeleteAgentsData, DeleteAgentsError, DeleteAgentsErrors, DeleteAgentsResponses, DeleteAgentstatsByIdData, DeleteAgentstatsByIdError, DeleteAgentstatsByIdErrors, DeleteAgentstatsByIdResponse, DeleteAgentstatsByIdResponses, DeleteAgentstatsData, DeleteAgentstatsError, DeleteAgentstatsErrors, DeleteAgentstatsResponses, DeleteApiTokensByIdData, DeleteApiTokensByIdError, DeleteApiTokensByIdErrors, DeleteApiTokensByIdResponse, DeleteApiTokensByIdResponses, DeleteApiTokensData, DeleteApiTokensError, DeleteApiTokensErrors, DeleteApiTokensResponses, DeleteCrackersByIdData, DeleteCrackersByIdError, DeleteCrackersByIdErrors, DeleteCrackersByIdRelationshipsByRelationData, DeleteCrackersByIdRelationshipsByRelationError, DeleteCrackersByIdRelationshipsByRelationErrors, DeleteCrackersByIdRelationshipsByRelationResponse, DeleteCrackersByIdRelationshipsByRelationResponses, DeleteCrackersByIdResponse, DeleteCrackersByIdResponses, DeleteCrackersData, DeleteCrackersError, DeleteCrackersErrors, DeleteCrackersResponses, DeleteCrackertypesByIdData, DeleteCrackertypesByIdError, DeleteCrackertypesByIdErrors, DeleteCrackertypesByIdRelationshipsByRelationData, DeleteCrackertypesByIdRelationshipsByRelationError, DeleteCrackertypesByIdRelationshipsByRelationErrors, DeleteCrackertypesByIdRelationshipsByRelationResponse, DeleteCrackertypesByIdRelationshipsByRelationResponses, DeleteCrackertypesByIdResponse, DeleteCrackertypesByIdResponses, DeleteCrackertypesData, DeleteCrackertypesError, DeleteCrackertypesErrors, DeleteCrackertypesResponses, DeleteFilesByIdData, DeleteFilesByIdError, DeleteFilesByIdErrors, DeleteFilesByIdResponse, DeleteFilesByIdResponses, DeleteFilesData, DeleteFilesError, DeleteFilesErrors, DeleteFilesResponses, DeleteGlobalpermissiongroupsByIdData, DeleteGlobalpermissiongroupsByIdError, DeleteGlobalpermissiongroupsByIdErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses, DeleteGlobalpermissiongroupsByIdResponse, DeleteGlobalpermissiongroupsByIdResponses, DeleteGlobalpermissiongroupsData, DeleteGlobalpermissiongroupsError, DeleteGlobalpermissiongroupsErrors, DeleteGlobalpermissiongroupsResponses, DeleteHashlistsByIdData, DeleteHashlistsByIdError, DeleteHashlistsByIdErrors, DeleteHashlistsByIdRelationshipsByRelationData, DeleteHashlistsByIdRelationshipsByRelationError, DeleteHashlistsByIdRelationshipsByRelationErrors, DeleteHashlistsByIdRelationshipsByRelationResponse, DeleteHashlistsByIdRelationshipsByRelationResponses, DeleteHashlistsByIdResponse, DeleteHashlistsByIdResponses, DeleteHashlistsData, DeleteHashlistsError, DeleteHashlistsErrors, DeleteHashlistsResponses, DeleteHashtypesByIdData, DeleteHashtypesByIdError, DeleteHashtypesByIdErrors, DeleteHashtypesByIdResponse, DeleteHashtypesByIdResponses, DeleteHashtypesData, DeleteHashtypesError, DeleteHashtypesErrors, DeleteHashtypesResponses, DeleteHealthchecksByIdData, DeleteHealthchecksByIdError, DeleteHealthchecksByIdErrors, DeleteHealthchecksByIdRelationshipsByRelationData, DeleteHealthchecksByIdRelationshipsByRelationError, DeleteHealthchecksByIdRelationshipsByRelationErrors, DeleteHealthchecksByIdRelationshipsByRelationResponse, DeleteHealthchecksByIdRelationshipsByRelationResponses, DeleteHealthchecksByIdResponse, DeleteHealthchecksByIdResponses, DeleteHealthchecksData, DeleteHealthchecksError, DeleteHealthchecksErrors, DeleteHealthchecksResponses, DeleteImportFileById09aF32Data, DeleteImportFileById09aF32Responses, DeleteLogentriesByIdData, DeleteLogentriesByIdError, DeleteLogentriesByIdErrors, DeleteLogentriesByIdResponse, DeleteLogentriesByIdResponses, DeleteLogentriesData, DeleteLogentriesError, DeleteLogentriesErrors, DeleteLogentriesResponses, DeleteNotificationsByIdData, DeleteNotificationsByIdError, DeleteNotificationsByIdErrors, DeleteNotificationsByIdResponse, DeleteNotificationsByIdResponses, DeleteNotificationsData, DeleteNotificationsError, DeleteNotificationsErrors, DeleteNotificationsResponses, DeletePreprocessorsByIdData, DeletePreprocessorsByIdError, DeletePreprocessorsByIdErrors, DeletePreprocessorsByIdResponse, DeletePreprocessorsByIdResponses, DeletePreprocessorsData, DeletePreprocessorsError, DeletePreprocessorsErrors, DeletePreprocessorsResponses, DeletePretasksByIdData, DeletePretasksByIdError, DeletePretasksByIdErrors, DeletePretasksByIdRelationshipsByRelationData, DeletePretasksByIdRelationshipsByRelationError, DeletePretasksByIdRelationshipsByRelationErrors, DeletePretasksByIdRelationshipsByRelationResponse, DeletePretasksByIdRelationshipsByRelationResponses, DeletePretasksByIdResponse, DeletePretasksByIdResponses, DeletePretasksData, DeletePretasksError, DeletePretasksErrors, DeletePretasksResponses, DeleteSupertasksByIdData, DeleteSupertasksByIdError, DeleteSupertasksByIdErrors, DeleteSupertasksByIdRelationshipsByRelationData, DeleteSupertasksByIdRelationshipsByRelationError, DeleteSupertasksByIdRelationshipsByRelationErrors, DeleteSupertasksByIdRelationshipsByRelationResponse, DeleteSupertasksByIdRelationshipsByRelationResponses, DeleteSupertasksByIdResponse, DeleteSupertasksByIdResponses, DeleteSupertasksData, DeleteSupertasksError, DeleteSupertasksErrors, DeleteSupertasksResponses, DeleteTasksByIdData, DeleteTasksByIdError, DeleteTasksByIdErrors, DeleteTasksByIdRelationshipsByRelationData, DeleteTasksByIdRelationshipsByRelationError, DeleteTasksByIdRelationshipsByRelationErrors, DeleteTasksByIdRelationshipsByRelationResponse, DeleteTasksByIdRelationshipsByRelationResponses, DeleteTasksByIdResponse, DeleteTasksByIdResponses, DeleteTasksData, DeleteTasksError, DeleteTasksErrors, DeleteTasksResponses, DeleteTaskwrappersByIdData, DeleteTaskwrappersByIdError, DeleteTaskwrappersByIdErrors, DeleteTaskwrappersByIdRelationshipsByRelationData, DeleteTaskwrappersByIdRelationshipsByRelationError, DeleteTaskwrappersByIdRelationshipsByRelationErrors, DeleteTaskwrappersByIdRelationshipsByRelationResponse, DeleteTaskwrappersByIdRelationshipsByRelationResponses, DeleteTaskwrappersByIdResponse, DeleteTaskwrappersByIdResponses, DeleteTaskwrappersData, DeleteTaskwrappersError, DeleteTaskwrappersErrors, DeleteTaskwrappersResponses, DeleteUsersByIdData, DeleteUsersByIdError, DeleteUsersByIdErrors, DeleteUsersByIdRelationshipsByRelationData, DeleteUsersByIdRelationshipsByRelationError, DeleteUsersByIdRelationshipsByRelationErrors, DeleteUsersByIdRelationshipsByRelationResponse, DeleteUsersByIdRelationshipsByRelationResponses, DeleteUsersByIdResponse, DeleteUsersByIdResponses, DeleteUsersData, DeleteUsersError, DeleteUsersErrors, DeleteUsersResponses, DeleteVouchersByIdData, DeleteVouchersByIdError, DeleteVouchersByIdErrors, DeleteVouchersByIdResponse, DeleteVouchersByIdResponses, DeleteVouchersData, DeleteVouchersError, DeleteVouchersErrors, DeleteVouchersResponses, ErrorResponse, ExportCrackedHashesHelperApi, ExportLeftHashesHelperApi, ExportWordlistHelperApi, FileCreate, FileListResponse, FilePatch, FilePostPatchResponse, FileRelationAccessGroup, FileRelationAccessGroupGetResponse, FileResponse, FileSingleResponse, GetAccessgroupsByIdByRelationData, GetAccessgroupsByIdByRelationError, GetAccessgroupsByIdByRelationErrors, GetAccessgroupsByIdByRelationResponse, GetAccessgroupsByIdByRelationResponses, GetAccessgroupsByIdData, GetAccessgroupsByIdError, GetAccessgroupsByIdErrors, GetAccessgroupsByIdRelationshipsByRelationData, GetAccessgroupsByIdRelationshipsByRelationError, GetAccessgroupsByIdRelationshipsByRelationErrors, GetAccessgroupsByIdRelationshipsByRelationResponse, GetAccessgroupsByIdRelationshipsByRelationResponses, GetAccessgroupsByIdResponse, GetAccessgroupsByIdResponses, GetAccessgroupsCountData, GetAccessgroupsCountError, GetAccessgroupsCountErrors, GetAccessgroupsCountResponse, GetAccessgroupsCountResponses, GetAccessgroupsData, GetAccessgroupsError, GetAccessgroupsErrors, GetAccessgroupsResponse, GetAccessgroupsResponses, GetAgentassignmentsByIdByRelationData, GetAgentassignmentsByIdByRelationError, GetAgentassignmentsByIdByRelationErrors, GetAgentassignmentsByIdByRelationResponse, GetAgentassignmentsByIdByRelationResponses, GetAgentassignmentsByIdData, GetAgentassignmentsByIdError, GetAgentassignmentsByIdErrors, GetAgentassignmentsByIdRelationshipsByRelationData, GetAgentassignmentsByIdRelationshipsByRelationError, GetAgentassignmentsByIdRelationshipsByRelationErrors, GetAgentassignmentsByIdRelationshipsByRelationResponse, GetAgentassignmentsByIdRelationshipsByRelationResponses, GetAgentassignmentsByIdResponse, GetAgentassignmentsByIdResponses, GetAgentassignmentsCountData, GetAgentassignmentsCountError, GetAgentassignmentsCountErrors, GetAgentassignmentsCountResponse, GetAgentassignmentsCountResponses, GetAgentassignmentsData, GetAgentassignmentsError, GetAgentassignmentsErrors, GetAgentassignmentsResponse, GetAgentassignmentsResponses, GetAgentbinariesByIdData, GetAgentbinariesByIdError, GetAgentbinariesByIdErrors, GetAgentbinariesByIdResponse, GetAgentbinariesByIdResponses, GetAgentbinariesCountData, GetAgentbinariesCountError, GetAgentbinariesCountErrors, GetAgentbinariesCountResponse, GetAgentbinariesCountResponses, GetAgentbinariesData, GetAgentbinariesError, GetAgentbinariesErrors, GetAgentbinariesResponse, GetAgentbinariesResponses, GetAgenterrorsByIdByRelationData, GetAgenterrorsByIdByRelationError, GetAgenterrorsByIdByRelationErrors, GetAgenterrorsByIdByRelationResponse, GetAgenterrorsByIdByRelationResponses, GetAgenterrorsByIdData, GetAgenterrorsByIdError, GetAgenterrorsByIdErrors, GetAgenterrorsByIdRelationshipsByRelationData, GetAgenterrorsByIdRelationshipsByRelationError, GetAgenterrorsByIdRelationshipsByRelationErrors, GetAgenterrorsByIdRelationshipsByRelationResponse, GetAgenterrorsByIdRelationshipsByRelationResponses, GetAgenterrorsByIdResponse, GetAgenterrorsByIdResponses, GetAgenterrorsCountData, GetAgenterrorsCountError, GetAgenterrorsCountErrors, GetAgenterrorsCountResponse, GetAgenterrorsCountResponses, GetAgenterrorsData, GetAgenterrorsError, GetAgenterrorsErrors, GetAgenterrorsResponse, GetAgenterrorsResponses, GetAgentsByIdByRelationData, GetAgentsByIdByRelationError, GetAgentsByIdByRelationErrors, GetAgentsByIdByRelationResponse, GetAgentsByIdByRelationResponses, GetAgentsByIdData, GetAgentsByIdError, GetAgentsByIdErrors, GetAgentsByIdRelationshipsByRelationData, GetAgentsByIdRelationshipsByRelationError, GetAgentsByIdRelationshipsByRelationErrors, GetAgentsByIdRelationshipsByRelationResponse, GetAgentsByIdRelationshipsByRelationResponses, GetAgentsByIdResponse, GetAgentsByIdResponses, GetAgentsCountData, GetAgentsCountError, GetAgentsCountErrors, GetAgentsCountResponse, GetAgentsCountResponses, GetAgentsData, GetAgentsError, GetAgentsErrors, GetAgentsResponse, GetAgentsResponses, GetAgentstatsByIdData, GetAgentstatsByIdError, GetAgentstatsByIdErrors, GetAgentstatsByIdResponse, GetAgentstatsByIdResponses, GetAgentstatsCountData, GetAgentstatsCountError, GetAgentstatsCountErrors, GetAgentstatsCountResponse, GetAgentstatsCountResponses, GetAgentstatsData, GetAgentstatsError, GetAgentstatsErrors, GetAgentstatsResponse, GetAgentstatsResponses, GetApiTokensByIdByRelationData, GetApiTokensByIdByRelationError, GetApiTokensByIdByRelationErrors, GetApiTokensByIdByRelationResponse, GetApiTokensByIdByRelationResponses, GetApiTokensByIdData, GetApiTokensByIdError, GetApiTokensByIdErrors, GetApiTokensByIdRelationshipsByRelationData, GetApiTokensByIdRelationshipsByRelationError, GetApiTokensByIdRelationshipsByRelationErrors, GetApiTokensByIdRelationshipsByRelationResponse, GetApiTokensByIdRelationshipsByRelationResponses, GetApiTokensByIdResponse, GetApiTokensByIdResponses, GetApiTokensCountData, GetApiTokensCountError, GetApiTokensCountErrors, GetApiTokensCountResponse, GetApiTokensCountResponses, GetApiTokensData, GetApiTokensError, GetApiTokensErrors, GetApiTokensResponse, GetApiTokensResponses, GetChunksByIdByRelationData, GetChunksByIdByRelationError, GetChunksByIdByRelationErrors, GetChunksByIdByRelationResponse, GetChunksByIdByRelationResponses, GetChunksByIdData, GetChunksByIdError, GetChunksByIdErrors, GetChunksByIdRelationshipsByRelationData, GetChunksByIdRelationshipsByRelationError, GetChunksByIdRelationshipsByRelationErrors, GetChunksByIdRelationshipsByRelationResponse, GetChunksByIdRelationshipsByRelationResponses, GetChunksByIdResponse, GetChunksByIdResponses, GetChunksCountData, GetChunksCountError, GetChunksCountErrors, GetChunksCountResponse, GetChunksCountResponses, GetChunksData, GetChunksError, GetChunksErrors, GetChunksResponse, GetChunksResponses, GetConfigsByIdByRelationData, GetConfigsByIdByRelationError, GetConfigsByIdByRelationErrors, GetConfigsByIdByRelationResponse, GetConfigsByIdByRelationResponses, GetConfigsByIdData, GetConfigsByIdError, GetConfigsByIdErrors, GetConfigsByIdRelationshipsByRelationData, GetConfigsByIdRelationshipsByRelationError, GetConfigsByIdRelationshipsByRelationErrors, GetConfigsByIdRelationshipsByRelationResponse, GetConfigsByIdRelationshipsByRelationResponses, GetConfigsByIdResponse, GetConfigsByIdResponses, GetConfigsCountData, GetConfigsCountError, GetConfigsCountErrors, GetConfigsCountResponse, GetConfigsCountResponses, GetConfigsData, GetConfigsectionsByIdData, GetConfigsectionsByIdError, GetConfigsectionsByIdErrors, GetConfigsectionsByIdResponse, GetConfigsectionsByIdResponses, GetConfigsectionsCountData, GetConfigsectionsCountError, GetConfigsectionsCountErrors, GetConfigsectionsCountResponse, GetConfigsectionsCountResponses, GetConfigsectionsData, GetConfigsectionsError, GetConfigsectionsErrors, GetConfigsectionsResponse, GetConfigsectionsResponses, GetConfigsError, GetConfigsErrors, GetConfigsResponse, GetConfigsResponses, GetCrackersByIdByRelationData, GetCrackersByIdByRelationError, GetCrackersByIdByRelationErrors, GetCrackersByIdByRelationResponse, GetCrackersByIdByRelationResponses, GetCrackersByIdData, GetCrackersByIdError, GetCrackersByIdErrors, GetCrackersByIdRelationshipsByRelationData, GetCrackersByIdRelationshipsByRelationError, GetCrackersByIdRelationshipsByRelationErrors, GetCrackersByIdRelationshipsByRelationResponse, GetCrackersByIdRelationshipsByRelationResponses, GetCrackersByIdResponse, GetCrackersByIdResponses, GetCrackersCountData, GetCrackersCountError, GetCrackersCountErrors, GetCrackersCountResponse, GetCrackersCountResponses, GetCrackersData, GetCrackersError, GetCrackersErrors, GetCrackersResponse, GetCrackersResponses, GetCrackertypesByIdByRelationData, GetCrackertypesByIdByRelationError, GetCrackertypesByIdByRelationErrors, GetCrackertypesByIdByRelationResponse, GetCrackertypesByIdByRelationResponses, GetCrackertypesByIdData, GetCrackertypesByIdError, GetCrackertypesByIdErrors, GetCrackertypesByIdRelationshipsByRelationData, GetCrackertypesByIdRelationshipsByRelationError, GetCrackertypesByIdRelationshipsByRelationErrors, GetCrackertypesByIdRelationshipsByRelationResponse, GetCrackertypesByIdRelationshipsByRelationResponses, GetCrackertypesByIdResponse, GetCrackertypesByIdResponses, GetCrackertypesCountData, GetCrackertypesCountError, GetCrackertypesCountErrors, GetCrackertypesCountResponse, GetCrackertypesCountResponses, GetCrackertypesData, GetCrackertypesError, GetCrackertypesErrors, GetCrackertypesResponse, GetCrackertypesResponses, GetCurrentUserData, GetCurrentUserResponses, GetFilesByIdByRelationData, GetFilesByIdByRelationError, GetFilesByIdByRelationErrors, GetFilesByIdByRelationResponse, GetFilesByIdByRelationResponses, GetFilesByIdData, GetFilesByIdError, GetFilesByIdErrors, GetFilesByIdRelationshipsByRelationData, GetFilesByIdRelationshipsByRelationError, GetFilesByIdRelationshipsByRelationErrors, GetFilesByIdRelationshipsByRelationResponse, GetFilesByIdRelationshipsByRelationResponses, GetFilesByIdResponse, GetFilesByIdResponses, GetFilesCountData, GetFilesCountError, GetFilesCountErrors, GetFilesCountResponse, GetFilesCountResponses, GetFilesData, GetFilesError, GetFilesErrors, GetFilesResponse, GetFilesResponses, GetGetAccessGroupsData, GetGetAccessGroupsResponses, GetGetAgentBinaryData, GetGetAgentBinaryResponses, GetGetBestTasksAgentData, GetGetBestTasksAgentResponses, GetGetCracksOfTaskData, GetGetCracksOfTaskResponses, GetGetFileData, GetGetFileResponses, GetGetTaskProgressImageData, GetGetTaskProgressImageResponses, GetGetUserPermissionData, GetGetUserPermissionResponses, GetGlobalpermissiongroupsByIdByRelationData, GetGlobalpermissiongroupsByIdByRelationError, GetGlobalpermissiongroupsByIdByRelationErrors, GetGlobalpermissiongroupsByIdByRelationResponse, GetGlobalpermissiongroupsByIdByRelationResponses, GetGlobalpermissiongroupsByIdData, GetGlobalpermissiongroupsByIdError, GetGlobalpermissiongroupsByIdErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationData, GetGlobalpermissiongroupsByIdRelationshipsByRelationError, GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses, GetGlobalpermissiongroupsByIdResponse, GetGlobalpermissiongroupsByIdResponses, GetGlobalpermissiongroupsCountData, GetGlobalpermissiongroupsCountError, GetGlobalpermissiongroupsCountErrors, GetGlobalpermissiongroupsCountResponse, GetGlobalpermissiongroupsCountResponses, GetGlobalpermissiongroupsData, GetGlobalpermissiongroupsError, GetGlobalpermissiongroupsErrors, GetGlobalpermissiongroupsResponse, GetGlobalpermissiongroupsResponses, GetHashesByIdByRelationData, GetHashesByIdByRelationError, GetHashesByIdByRelationErrors, GetHashesByIdByRelationResponse, GetHashesByIdByRelationResponses, GetHashesByIdData, GetHashesByIdError, GetHashesByIdErrors, GetHashesByIdRelationshipsByRelationData, GetHashesByIdRelationshipsByRelationError, GetHashesByIdRelationshipsByRelationErrors, GetHashesByIdRelationshipsByRelationResponse, GetHashesByIdRelationshipsByRelationResponses, GetHashesByIdResponse, GetHashesByIdResponses, GetHashesCountData, GetHashesCountError, GetHashesCountErrors, GetHashesCountResponse, GetHashesCountResponses, GetHashesData, GetHashesError, GetHashesErrors, GetHashesResponse, GetHashesResponses, GetHashlistsByIdByRelationData, GetHashlistsByIdByRelationError, GetHashlistsByIdByRelationErrors, GetHashlistsByIdByRelationResponse, GetHashlistsByIdByRelationResponses, GetHashlistsByIdData, GetHashlistsByIdError, GetHashlistsByIdErrors, GetHashlistsByIdRelationshipsByRelationData, GetHashlistsByIdRelationshipsByRelationError, GetHashlistsByIdRelationshipsByRelationErrors, GetHashlistsByIdRelationshipsByRelationResponse, GetHashlistsByIdRelationshipsByRelationResponses, GetHashlistsByIdResponse, GetHashlistsByIdResponses, GetHashlistsCountData, GetHashlistsCountError, GetHashlistsCountErrors, GetHashlistsCountResponse, GetHashlistsCountResponses, GetHashlistsData, GetHashlistsError, GetHashlistsErrors, GetHashlistsResponse, GetHashlistsResponses, GetHashtypesByIdData, GetHashtypesByIdError, GetHashtypesByIdErrors, GetHashtypesByIdResponse, GetHashtypesByIdResponses, GetHashtypesCountData, GetHashtypesCountError, GetHashtypesCountErrors, GetHashtypesCountResponse, GetHashtypesCountResponses, GetHashtypesData, GetHashtypesError, GetHashtypesErrors, GetHashtypesResponse, GetHashtypesResponses, GetHealthcheckagentsByIdByRelationData, GetHealthcheckagentsByIdByRelationError, GetHealthcheckagentsByIdByRelationErrors, GetHealthcheckagentsByIdByRelationResponse, GetHealthcheckagentsByIdByRelationResponses, GetHealthcheckagentsByIdData, GetHealthcheckagentsByIdError, GetHealthcheckagentsByIdErrors, GetHealthcheckagentsByIdRelationshipsByRelationData, GetHealthcheckagentsByIdRelationshipsByRelationError, GetHealthcheckagentsByIdRelationshipsByRelationErrors, GetHealthcheckagentsByIdRelationshipsByRelationResponse, GetHealthcheckagentsByIdRelationshipsByRelationResponses, GetHealthcheckagentsByIdResponse, GetHealthcheckagentsByIdResponses, GetHealthcheckagentsCountData, GetHealthcheckagentsCountError, GetHealthcheckagentsCountErrors, GetHealthcheckagentsCountResponse, GetHealthcheckagentsCountResponses, GetHealthcheckagentsData, GetHealthcheckagentsError, GetHealthcheckagentsErrors, GetHealthcheckagentsResponse, GetHealthcheckagentsResponses, GetHealthchecksByIdByRelationData, GetHealthchecksByIdByRelationError, GetHealthchecksByIdByRelationErrors, GetHealthchecksByIdByRelationResponse, GetHealthchecksByIdByRelationResponses, GetHealthchecksByIdData, GetHealthchecksByIdError, GetHealthchecksByIdErrors, GetHealthchecksByIdRelationshipsByRelationData, GetHealthchecksByIdRelationshipsByRelationError, GetHealthchecksByIdRelationshipsByRelationErrors, GetHealthchecksByIdRelationshipsByRelationResponse, GetHealthchecksByIdRelationshipsByRelationResponses, GetHealthchecksByIdResponse, GetHealthchecksByIdResponses, GetHealthchecksCountData, GetHealthchecksCountError, GetHealthchecksCountErrors, GetHealthchecksCountResponse, GetHealthchecksCountResponses, GetHealthchecksData, GetHealthchecksError, GetHealthchecksErrors, GetHealthchecksResponse, GetHealthchecksResponses, GetImportFileData, GetImportFileResponses, GetLogentriesByIdData, GetLogentriesByIdError, GetLogentriesByIdErrors, GetLogentriesByIdResponse, GetLogentriesByIdResponses, GetLogentriesCountData, GetLogentriesCountError, GetLogentriesCountErrors, GetLogentriesCountResponse, GetLogentriesCountResponses, GetLogentriesData, GetLogentriesError, GetLogentriesErrors, GetLogentriesResponse, GetLogentriesResponses, GetNotificationsByIdByRelationData, GetNotificationsByIdByRelationError, GetNotificationsByIdByRelationErrors, GetNotificationsByIdByRelationResponse, GetNotificationsByIdByRelationResponses, GetNotificationsByIdData, GetNotificationsByIdError, GetNotificationsByIdErrors, GetNotificationsByIdRelationshipsByRelationData, GetNotificationsByIdRelationshipsByRelationError, GetNotificationsByIdRelationshipsByRelationErrors, GetNotificationsByIdRelationshipsByRelationResponse, GetNotificationsByIdRelationshipsByRelationResponses, GetNotificationsByIdResponse, GetNotificationsByIdResponses, GetNotificationsCountData, GetNotificationsCountError, GetNotificationsCountErrors, GetNotificationsCountResponse, GetNotificationsCountResponses, GetNotificationsData, GetNotificationsError, GetNotificationsErrors, GetNotificationsResponse, GetNotificationsResponses, GetPreprocessorsByIdData, GetPreprocessorsByIdError, GetPreprocessorsByIdErrors, GetPreprocessorsByIdResponse, GetPreprocessorsByIdResponses, GetPreprocessorsCountData, GetPreprocessorsCountError, GetPreprocessorsCountErrors, GetPreprocessorsCountResponse, GetPreprocessorsCountResponses, GetPreprocessorsData, GetPreprocessorsError, GetPreprocessorsErrors, GetPreprocessorsResponse, GetPreprocessorsResponses, GetPretasksByIdByRelationData, GetPretasksByIdByRelationError, GetPretasksByIdByRelationErrors, GetPretasksByIdByRelationResponse, GetPretasksByIdByRelationResponses, GetPretasksByIdData, GetPretasksByIdError, GetPretasksByIdErrors, GetPretasksByIdRelationshipsByRelationData, GetPretasksByIdRelationshipsByRelationError, GetPretasksByIdRelationshipsByRelationErrors, GetPretasksByIdRelationshipsByRelationResponse, GetPretasksByIdRelationshipsByRelationResponses, GetPretasksByIdResponse, GetPretasksByIdResponses, GetPretasksCountData, GetPretasksCountError, GetPretasksCountErrors, GetPretasksCountResponse, GetPretasksCountResponses, GetPretasksData, GetPretasksError, GetPretasksErrors, GetPretasksResponse, GetPretasksResponses, GetSpeedsByIdByRelationData, GetSpeedsByIdByRelationError, GetSpeedsByIdByRelationErrors, GetSpeedsByIdByRelationResponse, GetSpeedsByIdByRelationResponses, GetSpeedsByIdData, GetSpeedsByIdError, GetSpeedsByIdErrors, GetSpeedsByIdRelationshipsByRelationData, GetSpeedsByIdRelationshipsByRelationError, GetSpeedsByIdRelationshipsByRelationErrors, GetSpeedsByIdRelationshipsByRelationResponse, GetSpeedsByIdRelationshipsByRelationResponses, GetSpeedsByIdResponse, GetSpeedsByIdResponses, GetSpeedsCountData, GetSpeedsCountError, GetSpeedsCountErrors, GetSpeedsCountResponse, GetSpeedsCountResponses, GetSpeedsData, GetSpeedsError, GetSpeedsErrors, GetSpeedsResponse, GetSpeedsResponses, GetSupertasksByIdByRelationData, GetSupertasksByIdByRelationError, GetSupertasksByIdByRelationErrors, GetSupertasksByIdByRelationResponse, GetSupertasksByIdByRelationResponses, GetSupertasksByIdData, GetSupertasksByIdError, GetSupertasksByIdErrors, GetSupertasksByIdRelationshipsByRelationData, GetSupertasksByIdRelationshipsByRelationError, GetSupertasksByIdRelationshipsByRelationErrors, GetSupertasksByIdRelationshipsByRelationResponse, GetSupertasksByIdRelationshipsByRelationResponses, GetSupertasksByIdResponse, GetSupertasksByIdResponses, GetSupertasksCountData, GetSupertasksCountError, GetSupertasksCountErrors, GetSupertasksCountResponse, GetSupertasksCountResponses, GetSupertasksData, GetSupertasksError, GetSupertasksErrors, GetSupertasksResponse, GetSupertasksResponses, GetTasksByIdByRelationData, GetTasksByIdByRelationError, GetTasksByIdByRelationErrors, GetTasksByIdByRelationResponse, GetTasksByIdByRelationResponses, GetTasksByIdData, GetTasksByIdError, GetTasksByIdErrors, GetTasksByIdRelationshipsByRelationData, GetTasksByIdRelationshipsByRelationError, GetTasksByIdRelationshipsByRelationErrors, GetTasksByIdRelationshipsByRelationResponse, GetTasksByIdRelationshipsByRelationResponses, GetTasksByIdResponse, GetTasksByIdResponses, GetTasksCountData, GetTasksCountError, GetTasksCountErrors, GetTasksCountResponse, GetTasksCountResponses, GetTasksData, GetTasksError, GetTasksErrors, GetTasksResponse, GetTasksResponses, GetTaskwrappersByIdByRelationData, GetTaskwrappersByIdByRelationError, GetTaskwrappersByIdByRelationErrors, GetTaskwrappersByIdByRelationResponse, GetTaskwrappersByIdByRelationResponses, GetTaskwrappersByIdData, GetTaskwrappersByIdError, GetTaskwrappersByIdErrors, GetTaskwrappersByIdRelationshipsByRelationData, GetTaskwrappersByIdRelationshipsByRelationError, GetTaskwrappersByIdRelationshipsByRelationErrors, GetTaskwrappersByIdRelationshipsByRelationResponse, GetTaskwrappersByIdRelationshipsByRelationResponses, GetTaskwrappersByIdResponse, GetTaskwrappersByIdResponses, GetTaskwrappersCountData, GetTaskwrappersCountError, GetTaskwrappersCountErrors, GetTaskwrappersCountResponse, GetTaskwrappersCountResponses, GetTaskwrappersData, GetTaskwrappersError, GetTaskwrappersErrors, GetTaskwrappersResponse, GetTaskwrappersResponses, GetUsersByIdByRelationData, GetUsersByIdByRelationError, GetUsersByIdByRelationErrors, GetUsersByIdByRelationResponse, GetUsersByIdByRelationResponses, GetUsersByIdData, GetUsersByIdError, GetUsersByIdErrors, GetUsersByIdRelationshipsByRelationData, GetUsersByIdRelationshipsByRelationError, GetUsersByIdRelationshipsByRelationErrors, GetUsersByIdRelationshipsByRelationResponse, GetUsersByIdRelationshipsByRelationResponses, GetUsersByIdResponse, GetUsersByIdResponses, GetUsersCountData, GetUsersCountError, GetUsersCountErrors, GetUsersCountResponse, GetUsersCountResponses, GetUsersData, GetUsersError, GetUsersErrors, GetUsersResponse, GetUsersResponses, GetVouchersByIdData, GetVouchersByIdError, GetVouchersByIdErrors, GetVouchersByIdResponse, GetVouchersByIdResponses, GetVouchersCountData, GetVouchersCountError, GetVouchersCountErrors, GetVouchersCountResponse, GetVouchersCountResponses, GetVouchersData, GetVouchersError, GetVouchersErrors, GetVouchersResponse, GetVouchersResponses, HashlistCreate, HashlistListResponse, HashlistPatch, HashlistPostPatchResponse, HashlistRelationTasks, HashlistRelationTasksGetResponse, HashlistResponse, HashListResponse, HashlistSingleResponse, HashRelationHashlist, HashRelationHashlistGetResponse, HashResponse, HashTypeCreate, HashTypeListResponse, HashTypePatch, HashTypePostPatchResponse, HashTypeResponse, HeadImportFileById09aF32Data, HeadImportFileById09aF32Responses, HealthCheckAgentListResponse, HealthCheckAgentRelationHealthCheck, HealthCheckAgentRelationHealthCheckGetResponse, HealthCheckAgentResponse, HealthCheckCreate, HealthCheckListResponse, HealthCheckPatch, HealthCheckPostPatchResponse, HealthCheckRelationHealthCheckAgents, HealthCheckRelationHealthCheckAgentsGetResponse, HealthCheckResponse, ImportCrackedHashesHelperApi, ImportCrackedHashesHelperApiResponse, ImportFileHelperApi, JwtApiKeyCreate, JwtApiKeyListResponse, JwtApiKeyPatch, JwtApiKeyPostPatchResponse, JwtApiKeyRelationUser, JwtApiKeyRelationUserGetResponse, JwtApiKeyResponse, LogEntryCreate, LogEntryListResponse, LogEntryPatch, LogEntryPostPatchResponse, LogEntryResponse, MaskSupertaskBuilderHelperApi, NotFoundResponse, NotificationSettingCreate, NotificationSettingListResponse, NotificationSettingPatch, NotificationSettingPostPatchResponse, NotificationSettingRelationUser, NotificationSettingRelationUserGetResponse, NotificationSettingResponse, PatchAccessgroupsByIdData, PatchAccessgroupsByIdError, PatchAccessgroupsByIdErrors, PatchAccessgroupsByIdRelationshipsByRelationData, PatchAccessgroupsByIdRelationshipsByRelationError, PatchAccessgroupsByIdRelationshipsByRelationErrors, PatchAccessgroupsByIdRelationshipsByRelationResponse, PatchAccessgroupsByIdRelationshipsByRelationResponses, PatchAccessgroupsByIdResponse, PatchAccessgroupsByIdResponses, PatchAccessgroupsData, PatchAccessgroupsError, PatchAccessgroupsErrors, PatchAccessgroupsResponses, PatchAgentassignmentsByIdData, PatchAgentassignmentsByIdError, PatchAgentassignmentsByIdErrors, PatchAgentassignmentsByIdRelationshipsByRelationData, PatchAgentassignmentsByIdRelationshipsByRelationError, PatchAgentassignmentsByIdRelationshipsByRelationErrors, PatchAgentassignmentsByIdRelationshipsByRelationResponse, PatchAgentassignmentsByIdRelationshipsByRelationResponses, PatchAgentassignmentsByIdResponse, PatchAgentassignmentsByIdResponses, PatchAgentassignmentsData, PatchAgentassignmentsError, PatchAgentassignmentsErrors, PatchAgentassignmentsResponses, PatchAgentbinariesByIdData, PatchAgentbinariesByIdError, PatchAgentbinariesByIdErrors, PatchAgentbinariesByIdResponse, PatchAgentbinariesByIdResponses, PatchAgentbinariesData, PatchAgentbinariesError, PatchAgentbinariesErrors, PatchAgentbinariesResponses, PatchAgenterrorsByIdRelationshipsByRelationData, PatchAgenterrorsByIdRelationshipsByRelationError, PatchAgenterrorsByIdRelationshipsByRelationErrors, PatchAgenterrorsByIdRelationshipsByRelationResponse, PatchAgenterrorsByIdRelationshipsByRelationResponses, PatchAgentsByIdData, PatchAgentsByIdError, PatchAgentsByIdErrors, PatchAgentsByIdRelationshipsByRelationData, PatchAgentsByIdRelationshipsByRelationError, PatchAgentsByIdRelationshipsByRelationErrors, PatchAgentsByIdRelationshipsByRelationResponse, PatchAgentsByIdRelationshipsByRelationResponses, PatchAgentsByIdResponse, PatchAgentsByIdResponses, PatchAgentsData, PatchAgentsError, PatchAgentsErrors, PatchAgentsResponses, PatchApiTokensByIdData, PatchApiTokensByIdError, PatchApiTokensByIdErrors, PatchApiTokensByIdRelationshipsByRelationData, PatchApiTokensByIdRelationshipsByRelationError, PatchApiTokensByIdRelationshipsByRelationErrors, PatchApiTokensByIdRelationshipsByRelationResponse, PatchApiTokensByIdRelationshipsByRelationResponses, PatchApiTokensByIdResponse, PatchApiTokensByIdResponses, PatchApiTokensData, PatchApiTokensError, PatchApiTokensErrors, PatchApiTokensResponses, PatchChunksByIdRelationshipsByRelationData, PatchChunksByIdRelationshipsByRelationError, PatchChunksByIdRelationshipsByRelationErrors, PatchChunksByIdRelationshipsByRelationResponse, PatchChunksByIdRelationshipsByRelationResponses, PatchConfigsByIdData, PatchConfigsByIdError, PatchConfigsByIdErrors, PatchConfigsByIdRelationshipsByRelationData, PatchConfigsByIdRelationshipsByRelationError, PatchConfigsByIdRelationshipsByRelationErrors, PatchConfigsByIdRelationshipsByRelationResponse, PatchConfigsByIdRelationshipsByRelationResponses, PatchConfigsByIdResponse, PatchConfigsByIdResponses, PatchConfigsData, PatchConfigsError, PatchConfigsErrors, PatchConfigsResponses, PatchCrackersByIdData, PatchCrackersByIdError, PatchCrackersByIdErrors, PatchCrackersByIdRelationshipsByRelationData, PatchCrackersByIdRelationshipsByRelationError, PatchCrackersByIdRelationshipsByRelationErrors, PatchCrackersByIdRelationshipsByRelationResponse, PatchCrackersByIdRelationshipsByRelationResponses, PatchCrackersByIdResponse, PatchCrackersByIdResponses, PatchCrackersData, PatchCrackersError, PatchCrackersErrors, PatchCrackersResponses, PatchCrackertypesByIdData, PatchCrackertypesByIdError, PatchCrackertypesByIdErrors, PatchCrackertypesByIdRelationshipsByRelationData, PatchCrackertypesByIdRelationshipsByRelationError, PatchCrackertypesByIdRelationshipsByRelationErrors, PatchCrackertypesByIdRelationshipsByRelationResponse, PatchCrackertypesByIdRelationshipsByRelationResponses, PatchCrackertypesByIdResponse, PatchCrackertypesByIdResponses, PatchCrackertypesData, PatchCrackertypesError, PatchCrackertypesErrors, PatchCrackertypesResponses, PatchCurrentUserData, PatchCurrentUserResponses, PatchFilesByIdData, PatchFilesByIdError, PatchFilesByIdErrors, PatchFilesByIdRelationshipsByRelationData, PatchFilesByIdRelationshipsByRelationError, PatchFilesByIdRelationshipsByRelationErrors, PatchFilesByIdRelationshipsByRelationResponse, PatchFilesByIdRelationshipsByRelationResponses, PatchFilesByIdResponse, PatchFilesByIdResponses, PatchFilesData, PatchFilesError, PatchFilesErrors, PatchFilesResponses, PatchGlobalpermissiongroupsByIdData, PatchGlobalpermissiongroupsByIdError, PatchGlobalpermissiongroupsByIdErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationData, PatchGlobalpermissiongroupsByIdRelationshipsByRelationError, PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PatchGlobalpermissiongroupsByIdResponse, PatchGlobalpermissiongroupsByIdResponses, PatchGlobalpermissiongroupsData, PatchGlobalpermissiongroupsError, PatchGlobalpermissiongroupsErrors, PatchGlobalpermissiongroupsResponses, PatchHashesByIdRelationshipsByRelationData, PatchHashesByIdRelationshipsByRelationError, PatchHashesByIdRelationshipsByRelationErrors, PatchHashesByIdRelationshipsByRelationResponse, PatchHashesByIdRelationshipsByRelationResponses, PatchHashlistsByIdData, PatchHashlistsByIdError, PatchHashlistsByIdErrors, PatchHashlistsByIdRelationshipsByRelationData, PatchHashlistsByIdRelationshipsByRelationError, PatchHashlistsByIdRelationshipsByRelationErrors, PatchHashlistsByIdRelationshipsByRelationResponse, PatchHashlistsByIdRelationshipsByRelationResponses, PatchHashlistsByIdResponse, PatchHashlistsByIdResponses, PatchHashlistsData, PatchHashlistsError, PatchHashlistsErrors, PatchHashlistsResponses, PatchHashtypesByIdData, PatchHashtypesByIdError, PatchHashtypesByIdErrors, PatchHashtypesByIdResponse, PatchHashtypesByIdResponses, PatchHashtypesData, PatchHashtypesError, PatchHashtypesErrors, PatchHashtypesResponses, PatchHealthcheckagentsByIdRelationshipsByRelationData, PatchHealthcheckagentsByIdRelationshipsByRelationError, PatchHealthcheckagentsByIdRelationshipsByRelationErrors, PatchHealthcheckagentsByIdRelationshipsByRelationResponse, PatchHealthcheckagentsByIdRelationshipsByRelationResponses, PatchHealthchecksByIdData, PatchHealthchecksByIdError, PatchHealthchecksByIdErrors, PatchHealthchecksByIdRelationshipsByRelationData, PatchHealthchecksByIdRelationshipsByRelationError, PatchHealthchecksByIdRelationshipsByRelationErrors, PatchHealthchecksByIdRelationshipsByRelationResponse, PatchHealthchecksByIdRelationshipsByRelationResponses, PatchHealthchecksByIdResponse, PatchHealthchecksByIdResponses, PatchHealthchecksData, PatchHealthchecksError, PatchHealthchecksErrors, PatchHealthchecksResponses, PatchImportFileById09aF32Data, PatchImportFileById09aF32Response, PatchImportFileById09aF32Responses, PatchLogentriesByIdData, PatchLogentriesByIdError, PatchLogentriesByIdErrors, PatchLogentriesByIdResponse, PatchLogentriesByIdResponses, PatchLogentriesData, PatchLogentriesError, PatchLogentriesErrors, PatchLogentriesResponses, PatchNotificationsByIdData, PatchNotificationsByIdError, PatchNotificationsByIdErrors, PatchNotificationsByIdRelationshipsByRelationData, PatchNotificationsByIdRelationshipsByRelationError, PatchNotificationsByIdRelationshipsByRelationErrors, PatchNotificationsByIdRelationshipsByRelationResponse, PatchNotificationsByIdRelationshipsByRelationResponses, PatchNotificationsByIdResponse, PatchNotificationsByIdResponses, PatchNotificationsData, PatchNotificationsError, PatchNotificationsErrors, PatchNotificationsResponses, PatchPreprocessorsByIdData, PatchPreprocessorsByIdError, PatchPreprocessorsByIdErrors, PatchPreprocessorsByIdResponse, PatchPreprocessorsByIdResponses, PatchPreprocessorsData, PatchPreprocessorsError, PatchPreprocessorsErrors, PatchPreprocessorsResponses, PatchPretasksByIdData, PatchPretasksByIdError, PatchPretasksByIdErrors, PatchPretasksByIdRelationshipsByRelationData, PatchPretasksByIdRelationshipsByRelationError, PatchPretasksByIdRelationshipsByRelationErrors, PatchPretasksByIdRelationshipsByRelationResponse, PatchPretasksByIdRelationshipsByRelationResponses, PatchPretasksByIdResponse, PatchPretasksByIdResponses, PatchPretasksData, PatchPretasksError, PatchPretasksErrors, PatchPretasksResponses, PatchSpeedsByIdRelationshipsByRelationData, PatchSpeedsByIdRelationshipsByRelationError, PatchSpeedsByIdRelationshipsByRelationErrors, PatchSpeedsByIdRelationshipsByRelationResponse, PatchSpeedsByIdRelationshipsByRelationResponses, PatchSupertasksByIdData, PatchSupertasksByIdError, PatchSupertasksByIdErrors, PatchSupertasksByIdRelationshipsByRelationData, PatchSupertasksByIdRelationshipsByRelationError, PatchSupertasksByIdRelationshipsByRelationErrors, PatchSupertasksByIdRelationshipsByRelationResponse, PatchSupertasksByIdRelationshipsByRelationResponses, PatchSupertasksByIdResponse, PatchSupertasksByIdResponses, PatchSupertasksData, PatchSupertasksError, PatchSupertasksErrors, PatchSupertasksResponses, PatchTasksByIdData, PatchTasksByIdError, PatchTasksByIdErrors, PatchTasksByIdRelationshipsByRelationData, PatchTasksByIdRelationshipsByRelationError, PatchTasksByIdRelationshipsByRelationErrors, PatchTasksByIdRelationshipsByRelationResponse, PatchTasksByIdRelationshipsByRelationResponses, PatchTasksByIdResponse, PatchTasksByIdResponses, PatchTasksData, PatchTasksError, PatchTasksErrors, PatchTasksResponses, PatchTaskwrappersByIdData, PatchTaskwrappersByIdError, PatchTaskwrappersByIdErrors, PatchTaskwrappersByIdRelationshipsByRelationData, PatchTaskwrappersByIdRelationshipsByRelationError, PatchTaskwrappersByIdRelationshipsByRelationErrors, PatchTaskwrappersByIdRelationshipsByRelationResponse, PatchTaskwrappersByIdRelationshipsByRelationResponses, PatchTaskwrappersByIdResponse, PatchTaskwrappersByIdResponses, PatchTaskwrappersData, PatchTaskwrappersError, PatchTaskwrappersErrors, PatchTaskwrappersResponses, PatchUsersByIdData, PatchUsersByIdError, PatchUsersByIdErrors, PatchUsersByIdRelationshipsByRelationData, PatchUsersByIdRelationshipsByRelationError, PatchUsersByIdRelationshipsByRelationErrors, PatchUsersByIdRelationshipsByRelationResponse, PatchUsersByIdRelationshipsByRelationResponses, PatchUsersByIdResponse, PatchUsersByIdResponses, PatchUsersData, PatchUsersError, PatchUsersErrors, PatchUsersResponses, PatchVouchersByIdData, PatchVouchersByIdError, PatchVouchersByIdErrors, PatchVouchersByIdResponse, PatchVouchersByIdResponses, PatchVouchersData, PatchVouchersError, PatchVouchersErrors, PatchVouchersResponses, PostAbortChunkData, PostAbortChunkResponse, PostAbortChunkResponses, PostAccessgroupsByIdRelationshipsByRelationData, PostAccessgroupsByIdRelationshipsByRelationError, PostAccessgroupsByIdRelationshipsByRelationErrors, PostAccessgroupsByIdRelationshipsByRelationResponse, PostAccessgroupsByIdRelationshipsByRelationResponses, PostAccessgroupsData, PostAccessgroupsError, PostAccessgroupsErrors, PostAccessgroupsResponse, PostAccessgroupsResponses, PostAgentassignmentsData, PostAgentassignmentsError, PostAgentassignmentsErrors, PostAgentassignmentsResponse, PostAgentassignmentsResponses, PostAgentbinariesData, PostAgentbinariesError, PostAgentbinariesErrors, PostAgentbinariesResponse, PostAgentbinariesResponses, PostAgentsByIdRelationshipsByRelationData, PostAgentsByIdRelationshipsByRelationError, PostAgentsByIdRelationshipsByRelationErrors, PostAgentsByIdRelationshipsByRelationResponse, PostAgentsByIdRelationshipsByRelationResponses, PostApiTokensData, PostApiTokensError, PostApiTokensErrors, PostApiTokensResponse, PostApiTokensResponses, PostAssignAgentData, PostAssignAgentResponse, PostAssignAgentResponses, PostBulkSupertaskBuilderData, PostBulkSupertaskBuilderResponse, PostBulkSupertaskBuilderResponses, PostChangeOwnPasswordData, PostChangeOwnPasswordResponse, PostChangeOwnPasswordResponses, PostCrackersByIdRelationshipsByRelationData, PostCrackersByIdRelationshipsByRelationError, PostCrackersByIdRelationshipsByRelationErrors, PostCrackersByIdRelationshipsByRelationResponse, PostCrackersByIdRelationshipsByRelationResponses, PostCrackersData, PostCrackersError, PostCrackersErrors, PostCrackersResponse, PostCrackersResponses, PostCrackertypesByIdRelationshipsByRelationData, PostCrackertypesByIdRelationshipsByRelationError, PostCrackertypesByIdRelationshipsByRelationErrors, PostCrackertypesByIdRelationshipsByRelationResponse, PostCrackertypesByIdRelationshipsByRelationResponses, PostCrackertypesData, PostCrackertypesError, PostCrackertypesErrors, PostCrackertypesResponse, PostCrackertypesResponses, PostCreateSuperHashlistData, PostCreateSuperHashlistResponse, PostCreateSuperHashlistResponses, PostCreateSupertaskData, PostCreateSupertaskResponse, PostCreateSupertaskResponses, PostExportCrackedHashesData, PostExportCrackedHashesResponse, PostExportCrackedHashesResponses, PostExportLeftHashesData, PostExportLeftHashesResponse, PostExportLeftHashesResponses, PostExportWordlistData, PostExportWordlistResponse, PostExportWordlistResponses, PostFilesData, PostFilesError, PostFilesErrors, PostFilesResponse, PostFilesResponses, PostGlobalpermissiongroupsByIdRelationshipsByRelationData, PostGlobalpermissiongroupsByIdRelationshipsByRelationError, PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PostGlobalpermissiongroupsData, PostGlobalpermissiongroupsError, PostGlobalpermissiongroupsErrors, PostGlobalpermissiongroupsResponse, PostGlobalpermissiongroupsResponses, PostHashlistsByIdRelationshipsByRelationData, PostHashlistsByIdRelationshipsByRelationError, PostHashlistsByIdRelationshipsByRelationErrors, PostHashlistsByIdRelationshipsByRelationResponse, PostHashlistsByIdRelationshipsByRelationResponses, PostHashlistsData, PostHashlistsError, PostHashlistsErrors, PostHashlistsResponse, PostHashlistsResponses, PostHashtypesData, PostHashtypesError, PostHashtypesErrors, PostHashtypesResponse, PostHashtypesResponses, PostHealthchecksByIdRelationshipsByRelationData, PostHealthchecksByIdRelationshipsByRelationError, PostHealthchecksByIdRelationshipsByRelationErrors, PostHealthchecksByIdRelationshipsByRelationResponse, PostHealthchecksByIdRelationshipsByRelationResponses, PostHealthchecksData, PostHealthchecksError, PostHealthchecksErrors, PostHealthchecksResponse, PostHealthchecksResponses, PostImportCrackedHashesData, PostImportCrackedHashesResponse, PostImportCrackedHashesResponses, PostImportFileData, PostImportFileResponse, PostImportFileResponses, PostLogentriesData, PostLogentriesError, PostLogentriesErrors, PostLogentriesResponse, PostLogentriesResponses, PostMaskSupertaskBuilderData, PostMaskSupertaskBuilderResponse, PostMaskSupertaskBuilderResponses, PostNotificationsData, PostNotificationsError, PostNotificationsErrors, PostNotificationsResponse, PostNotificationsResponses, PostPreprocessorsData, PostPreprocessorsError, PostPreprocessorsErrors, PostPreprocessorsResponse, PostPreprocessorsResponses, PostPretasksByIdRelationshipsByRelationData, PostPretasksByIdRelationshipsByRelationError, PostPretasksByIdRelationshipsByRelationErrors, PostPretasksByIdRelationshipsByRelationResponse, PostPretasksByIdRelationshipsByRelationResponses, PostPretasksData, PostPretasksError, PostPretasksErrors, PostPretasksResponse, PostPretasksResponses, PostPurgeTaskData, PostPurgeTaskResponse, PostPurgeTaskResponses, PostRebuildChunkCacheData, PostRebuildChunkCacheResponse, PostRebuildChunkCacheResponses, PostRecountFileLinesData, PostRecountFileLinesResponse, PostRecountFileLinesResponses, PostRescanGlobalFilesData, PostRescanGlobalFilesResponse, PostRescanGlobalFilesResponses, PostResetChunkData, PostResetChunkResponse, PostResetChunkResponses, PostResetUserPasswordData, PostResetUserPasswordResponse, PostResetUserPasswordResponses, PostSearchHashesData, PostSearchHashesResponse, PostSearchHashesResponses, PostSetUserPasswordData, PostSetUserPasswordResponse, PostSetUserPasswordResponses, PostSupertasksByIdRelationshipsByRelationData, PostSupertasksByIdRelationshipsByRelationError, PostSupertasksByIdRelationshipsByRelationErrors, PostSupertasksByIdRelationshipsByRelationResponse, PostSupertasksByIdRelationshipsByRelationResponses, PostSupertasksData, PostSupertasksError, PostSupertasksErrors, PostSupertasksResponse, PostSupertasksResponses, PostTasksByIdRelationshipsByRelationData, PostTasksByIdRelationshipsByRelationError, PostTasksByIdRelationshipsByRelationErrors, PostTasksByIdRelationshipsByRelationResponse, PostTasksByIdRelationshipsByRelationResponses, PostTasksData, PostTasksError, PostTasksErrors, PostTasksResponse, PostTasksResponses, PostTaskwrappersByIdRelationshipsByRelationData, PostTaskwrappersByIdRelationshipsByRelationError, PostTaskwrappersByIdRelationshipsByRelationErrors, PostTaskwrappersByIdRelationshipsByRelationResponse, PostTaskwrappersByIdRelationshipsByRelationResponses, PostTokenData, PostTokenError, PostTokenErrors, PostTokenResponse, PostTokenResponses, PostUnassignAgentData, PostUnassignAgentResponse, PostUnassignAgentResponses, PostUsersByIdRelationshipsByRelationData, PostUsersByIdRelationshipsByRelationError, PostUsersByIdRelationshipsByRelationErrors, PostUsersByIdRelationshipsByRelationResponse, PostUsersByIdRelationshipsByRelationResponses, PostUsersData, PostUsersError, PostUsersErrors, PostUsersResponse, PostUsersResponses, PostVouchersData, PostVouchersError, PostVouchersErrors, PostVouchersResponse, PostVouchersResponses, PreprocessorCreate, PreprocessorListResponse, PreprocessorPatch, PreprocessorPostPatchResponse, PreprocessorResponse, PretaskCreate, PretaskListResponse, PretaskPatch, PretaskPostPatchResponse, PretaskRelationPretaskFiles, PretaskRelationPretaskFilesGetResponse, PretaskResponse, PurgeTaskHelperApi, PurgeTaskHelperApiResponse, RebuildChunkCacheHelperApi, RebuildChunkCacheHelperApiResponse, RecountFileLinesHelperApi, RegVoucherCreate, RegVoucherListResponse, RegVoucherPatch, RegVoucherPostPatchResponse, RegVoucherResponse, RescanGlobalFilesHelperApi, RescanGlobalFilesHelperApiResponse, ResetChunkHelperApi, ResetChunkHelperApiResponse, ResetUserPasswordHelperApi, ResetUserPasswordHelperApiResponse, RightGroupCreate, RightGroupListResponse, RightGroupPatch, RightGroupPostPatchResponse, RightGroupRelationUserMembers, RightGroupRelationUserMembersGetResponse, RightGroupResponse, SearchHashesHelperApi, SearchHashesHelperApiResponse, SetUserPasswordHelperApi, SetUserPasswordHelperApiResponse, SpeedListResponse, SpeedRelationTask, SpeedRelationTaskGetResponse, SpeedResponse, SupertaskCreate, SupertaskListResponse, SupertaskPatch, SupertaskPostPatchResponse, SupertaskRelationPretasks, SupertaskRelationPretasksGetResponse, SupertaskResponse, SupertaskSingleResponse, TaskCreate, TaskListResponse, TaskPatch, TaskPostPatchResponse, TaskRelationSpeeds, TaskRelationSpeedsGetResponse, TaskResponse, TaskWrapperListResponse, TaskWrapperPatch, TaskWrapperPostPatchResponse, TaskWrapperRelationTasks, TaskWrapperRelationTasksGetResponse, TaskWrapperResponse, TaskWrapperSingleResponse, Token, TokenRequest, UnassignAgentHelperApi, UnassignAgentHelperApiResponse, UserCreate, UserListResponse, UserPatch, UserPostPatchResponse, UserRelationAccessGroups, UserRelationAccessGroupsGetResponse, UserResponse } from './types.gen'; +export type { AbortChunkHelperApi, AbortChunkHelperApiResponse, AccessGroupCreate, AccessGroupListResponse, AccessGroupPatch, AccessGroupPostPatchResponse, AccessGroupRelationAgentMembers, AccessGroupRelationAgentMembersGetResponse, AccessGroupResponse, AgentAssignmentCreate, AgentAssignmentListResponse, AgentAssignmentPatch, AgentAssignmentPostPatchResponse, AgentAssignmentRelationTask, AgentAssignmentRelationTaskGetResponse, AgentAssignmentResponse, AgentBinaryCreate, AgentBinaryListResponse, AgentBinaryPatch, AgentBinaryPostPatchResponse, AgentBinaryResponse, AgentErrorListResponse, AgentErrorRelationTask, AgentErrorRelationTaskGetResponse, AgentErrorResponse, AgentListResponse, AgentPatch, AgentPostPatchResponse, AgentRelationAssignments, AgentRelationAssignmentsGetResponse, AgentResponse, AgentStatListResponse, AgentStatResponse, ApiTokenCreate, ApiTokenListResponse, ApiTokenPatch, ApiTokenPostPatchResponse, ApiTokenRelationUser, ApiTokenRelationUserGetResponse, ApiTokenResponse, AssignAgentHelperApi, AssignAgentHelperApiResponse, BulkSupertaskBuilderHelperApi, ChangeOwnPasswordHelperApi, ChangeOwnPasswordHelperApiResponse, ChunkListResponse, ChunkRelationTask, ChunkRelationTaskGetResponse, ChunkResponse, ClientOptions, ConfigListResponse, ConfigPatch, ConfigPostPatchResponse, ConfigRelationConfigSection, ConfigRelationConfigSectionGetResponse, ConfigResponse, ConfigSectionListResponse, ConfigSectionResponse, CrackerBinaryCreate, CrackerBinaryListResponse, CrackerBinaryPatch, CrackerBinaryPostPatchResponse, CrackerBinaryRelationTasks, CrackerBinaryRelationTasksGetResponse, CrackerBinaryResponse, CrackerBinaryTypeCreate, CrackerBinaryTypeListResponse, CrackerBinaryTypePatch, CrackerBinaryTypePostPatchResponse, CrackerBinaryTypeRelationTasks, CrackerBinaryTypeRelationTasksGetResponse, CrackerBinaryTypeResponse, CreateSuperHashlistHelperApi, CreateSupertaskHelperApi, DeleteAccessgroupsByIdData, DeleteAccessgroupsByIdError, DeleteAccessgroupsByIdErrors, DeleteAccessgroupsByIdRelationshipsByRelationData, DeleteAccessgroupsByIdRelationshipsByRelationError, DeleteAccessgroupsByIdRelationshipsByRelationErrors, DeleteAccessgroupsByIdRelationshipsByRelationResponse, DeleteAccessgroupsByIdRelationshipsByRelationResponses, DeleteAccessgroupsByIdResponse, DeleteAccessgroupsByIdResponses, DeleteAccessgroupsData, DeleteAccessgroupsError, DeleteAccessgroupsErrors, DeleteAccessgroupsResponses, DeleteAgentassignmentsByIdData, DeleteAgentassignmentsByIdError, DeleteAgentassignmentsByIdErrors, DeleteAgentassignmentsByIdResponse, DeleteAgentassignmentsByIdResponses, DeleteAgentassignmentsData, DeleteAgentassignmentsError, DeleteAgentassignmentsErrors, DeleteAgentassignmentsResponses, DeleteAgentbinariesByIdData, DeleteAgentbinariesByIdError, DeleteAgentbinariesByIdErrors, DeleteAgentbinariesByIdResponse, DeleteAgentbinariesByIdResponses, DeleteAgentbinariesData, DeleteAgentbinariesError, DeleteAgentbinariesErrors, DeleteAgentbinariesResponses, DeleteAgenterrorsByIdData, DeleteAgenterrorsByIdError, DeleteAgenterrorsByIdErrors, DeleteAgenterrorsByIdResponse, DeleteAgenterrorsByIdResponses, DeleteAgenterrorsData, DeleteAgenterrorsError, DeleteAgenterrorsErrors, DeleteAgenterrorsResponses, DeleteAgentsByIdData, DeleteAgentsByIdError, DeleteAgentsByIdErrors, DeleteAgentsByIdRelationshipsByRelationData, DeleteAgentsByIdRelationshipsByRelationError, DeleteAgentsByIdRelationshipsByRelationErrors, DeleteAgentsByIdRelationshipsByRelationResponse, DeleteAgentsByIdRelationshipsByRelationResponses, DeleteAgentsByIdResponse, DeleteAgentsByIdResponses, DeleteAgentsData, DeleteAgentsError, DeleteAgentsErrors, DeleteAgentsResponses, DeleteAgentstatsByIdData, DeleteAgentstatsByIdError, DeleteAgentstatsByIdErrors, DeleteAgentstatsByIdResponse, DeleteAgentstatsByIdResponses, DeleteAgentstatsData, DeleteAgentstatsError, DeleteAgentstatsErrors, DeleteAgentstatsResponses, DeleteApiTokensByIdData, DeleteApiTokensByIdError, DeleteApiTokensByIdErrors, DeleteApiTokensByIdResponse, DeleteApiTokensByIdResponses, DeleteApiTokensData, DeleteApiTokensError, DeleteApiTokensErrors, DeleteApiTokensResponses, DeleteCrackersByIdData, DeleteCrackersByIdError, DeleteCrackersByIdErrors, DeleteCrackersByIdRelationshipsByRelationData, DeleteCrackersByIdRelationshipsByRelationError, DeleteCrackersByIdRelationshipsByRelationErrors, DeleteCrackersByIdRelationshipsByRelationResponse, DeleteCrackersByIdRelationshipsByRelationResponses, DeleteCrackersByIdResponse, DeleteCrackersByIdResponses, DeleteCrackersData, DeleteCrackersError, DeleteCrackersErrors, DeleteCrackersResponses, DeleteCrackertypesByIdData, DeleteCrackertypesByIdError, DeleteCrackertypesByIdErrors, DeleteCrackertypesByIdRelationshipsByRelationData, DeleteCrackertypesByIdRelationshipsByRelationError, DeleteCrackertypesByIdRelationshipsByRelationErrors, DeleteCrackertypesByIdRelationshipsByRelationResponse, DeleteCrackertypesByIdRelationshipsByRelationResponses, DeleteCrackertypesByIdResponse, DeleteCrackertypesByIdResponses, DeleteCrackertypesData, DeleteCrackertypesError, DeleteCrackertypesErrors, DeleteCrackertypesResponses, DeleteFilesByIdData, DeleteFilesByIdError, DeleteFilesByIdErrors, DeleteFilesByIdResponse, DeleteFilesByIdResponses, DeleteFilesData, DeleteFilesError, DeleteFilesErrors, DeleteFilesResponses, DeleteGlobalpermissiongroupsByIdData, DeleteGlobalpermissiongroupsByIdError, DeleteGlobalpermissiongroupsByIdErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses, DeleteGlobalpermissiongroupsByIdResponse, DeleteGlobalpermissiongroupsByIdResponses, DeleteGlobalpermissiongroupsData, DeleteGlobalpermissiongroupsError, DeleteGlobalpermissiongroupsErrors, DeleteGlobalpermissiongroupsResponses, DeleteHashlistsByIdData, DeleteHashlistsByIdError, DeleteHashlistsByIdErrors, DeleteHashlistsByIdRelationshipsByRelationData, DeleteHashlistsByIdRelationshipsByRelationError, DeleteHashlistsByIdRelationshipsByRelationErrors, DeleteHashlistsByIdRelationshipsByRelationResponse, DeleteHashlistsByIdRelationshipsByRelationResponses, DeleteHashlistsByIdResponse, DeleteHashlistsByIdResponses, DeleteHashlistsData, DeleteHashlistsError, DeleteHashlistsErrors, DeleteHashlistsResponses, DeleteHashtypesByIdData, DeleteHashtypesByIdError, DeleteHashtypesByIdErrors, DeleteHashtypesByIdResponse, DeleteHashtypesByIdResponses, DeleteHashtypesData, DeleteHashtypesError, DeleteHashtypesErrors, DeleteHashtypesResponses, DeleteHealthchecksByIdData, DeleteHealthchecksByIdError, DeleteHealthchecksByIdErrors, DeleteHealthchecksByIdRelationshipsByRelationData, DeleteHealthchecksByIdRelationshipsByRelationError, DeleteHealthchecksByIdRelationshipsByRelationErrors, DeleteHealthchecksByIdRelationshipsByRelationResponse, DeleteHealthchecksByIdRelationshipsByRelationResponses, DeleteHealthchecksByIdResponse, DeleteHealthchecksByIdResponses, DeleteHealthchecksData, DeleteHealthchecksError, DeleteHealthchecksErrors, DeleteHealthchecksResponses, DeleteImportFileById09aF32Data, DeleteImportFileById09aF32Responses, DeleteLogentriesByIdData, DeleteLogentriesByIdError, DeleteLogentriesByIdErrors, DeleteLogentriesByIdResponse, DeleteLogentriesByIdResponses, DeleteLogentriesData, DeleteLogentriesError, DeleteLogentriesErrors, DeleteLogentriesResponses, DeleteNotificationsByIdData, DeleteNotificationsByIdError, DeleteNotificationsByIdErrors, DeleteNotificationsByIdResponse, DeleteNotificationsByIdResponses, DeleteNotificationsData, DeleteNotificationsError, DeleteNotificationsErrors, DeleteNotificationsResponses, DeletePreprocessorsByIdData, DeletePreprocessorsByIdError, DeletePreprocessorsByIdErrors, DeletePreprocessorsByIdResponse, DeletePreprocessorsByIdResponses, DeletePreprocessorsData, DeletePreprocessorsError, DeletePreprocessorsErrors, DeletePreprocessorsResponses, DeletePretasksByIdData, DeletePretasksByIdError, DeletePretasksByIdErrors, DeletePretasksByIdRelationshipsByRelationData, DeletePretasksByIdRelationshipsByRelationError, DeletePretasksByIdRelationshipsByRelationErrors, DeletePretasksByIdRelationshipsByRelationResponse, DeletePretasksByIdRelationshipsByRelationResponses, DeletePretasksByIdResponse, DeletePretasksByIdResponses, DeletePretasksData, DeletePretasksError, DeletePretasksErrors, DeletePretasksResponses, DeleteSupertasksByIdData, DeleteSupertasksByIdError, DeleteSupertasksByIdErrors, DeleteSupertasksByIdRelationshipsByRelationData, DeleteSupertasksByIdRelationshipsByRelationError, DeleteSupertasksByIdRelationshipsByRelationErrors, DeleteSupertasksByIdRelationshipsByRelationResponse, DeleteSupertasksByIdRelationshipsByRelationResponses, DeleteSupertasksByIdResponse, DeleteSupertasksByIdResponses, DeleteSupertasksData, DeleteSupertasksError, DeleteSupertasksErrors, DeleteSupertasksResponses, DeleteTasksByIdData, DeleteTasksByIdError, DeleteTasksByIdErrors, DeleteTasksByIdRelationshipsByRelationData, DeleteTasksByIdRelationshipsByRelationError, DeleteTasksByIdRelationshipsByRelationErrors, DeleteTasksByIdRelationshipsByRelationResponse, DeleteTasksByIdRelationshipsByRelationResponses, DeleteTasksByIdResponse, DeleteTasksByIdResponses, DeleteTasksData, DeleteTasksError, DeleteTasksErrors, DeleteTasksResponses, DeleteTaskwrappersByIdData, DeleteTaskwrappersByIdError, DeleteTaskwrappersByIdErrors, DeleteTaskwrappersByIdRelationshipsByRelationData, DeleteTaskwrappersByIdRelationshipsByRelationError, DeleteTaskwrappersByIdRelationshipsByRelationErrors, DeleteTaskwrappersByIdRelationshipsByRelationResponse, DeleteTaskwrappersByIdRelationshipsByRelationResponses, DeleteTaskwrappersByIdResponse, DeleteTaskwrappersByIdResponses, DeleteTaskwrappersData, DeleteTaskwrappersError, DeleteTaskwrappersErrors, DeleteTaskwrappersResponses, DeleteUsersByIdData, DeleteUsersByIdError, DeleteUsersByIdErrors, DeleteUsersByIdRelationshipsByRelationData, DeleteUsersByIdRelationshipsByRelationError, DeleteUsersByIdRelationshipsByRelationErrors, DeleteUsersByIdRelationshipsByRelationResponse, DeleteUsersByIdRelationshipsByRelationResponses, DeleteUsersByIdResponse, DeleteUsersByIdResponses, DeleteUsersData, DeleteUsersError, DeleteUsersErrors, DeleteUsersResponses, DeleteVouchersByIdData, DeleteVouchersByIdError, DeleteVouchersByIdErrors, DeleteVouchersByIdResponse, DeleteVouchersByIdResponses, DeleteVouchersData, DeleteVouchersError, DeleteVouchersErrors, DeleteVouchersResponses, ErrorResponse, ExportCrackedHashesHelperApi, ExportLeftHashesHelperApi, ExportWordlistHelperApi, FileCreate, FileListResponse, FilePatch, FilePostPatchResponse, FileRelationAccessGroup, FileRelationAccessGroupGetResponse, FileResponse, FileSingleResponse, GetAccessgroupsByIdByRelationData, GetAccessgroupsByIdByRelationError, GetAccessgroupsByIdByRelationErrors, GetAccessgroupsByIdByRelationResponse, GetAccessgroupsByIdByRelationResponses, GetAccessgroupsByIdData, GetAccessgroupsByIdError, GetAccessgroupsByIdErrors, GetAccessgroupsByIdRelationshipsByRelationData, GetAccessgroupsByIdRelationshipsByRelationError, GetAccessgroupsByIdRelationshipsByRelationErrors, GetAccessgroupsByIdRelationshipsByRelationResponse, GetAccessgroupsByIdRelationshipsByRelationResponses, GetAccessgroupsByIdResponse, GetAccessgroupsByIdResponses, GetAccessgroupsCountData, GetAccessgroupsCountError, GetAccessgroupsCountErrors, GetAccessgroupsCountResponse, GetAccessgroupsCountResponses, GetAccessgroupsData, GetAccessgroupsError, GetAccessgroupsErrors, GetAccessgroupsResponse, GetAccessgroupsResponses, GetAgentassignmentsByIdByRelationData, GetAgentassignmentsByIdByRelationError, GetAgentassignmentsByIdByRelationErrors, GetAgentassignmentsByIdByRelationResponse, GetAgentassignmentsByIdByRelationResponses, GetAgentassignmentsByIdData, GetAgentassignmentsByIdError, GetAgentassignmentsByIdErrors, GetAgentassignmentsByIdRelationshipsByRelationData, GetAgentassignmentsByIdRelationshipsByRelationError, GetAgentassignmentsByIdRelationshipsByRelationErrors, GetAgentassignmentsByIdRelationshipsByRelationResponse, GetAgentassignmentsByIdRelationshipsByRelationResponses, GetAgentassignmentsByIdResponse, GetAgentassignmentsByIdResponses, GetAgentassignmentsCountData, GetAgentassignmentsCountError, GetAgentassignmentsCountErrors, GetAgentassignmentsCountResponse, GetAgentassignmentsCountResponses, GetAgentassignmentsData, GetAgentassignmentsError, GetAgentassignmentsErrors, GetAgentassignmentsResponse, GetAgentassignmentsResponses, GetAgentbinariesByIdData, GetAgentbinariesByIdError, GetAgentbinariesByIdErrors, GetAgentbinariesByIdResponse, GetAgentbinariesByIdResponses, GetAgentbinariesCountData, GetAgentbinariesCountError, GetAgentbinariesCountErrors, GetAgentbinariesCountResponse, GetAgentbinariesCountResponses, GetAgentbinariesData, GetAgentbinariesError, GetAgentbinariesErrors, GetAgentbinariesResponse, GetAgentbinariesResponses, GetAgenterrorsByIdByRelationData, GetAgenterrorsByIdByRelationError, GetAgenterrorsByIdByRelationErrors, GetAgenterrorsByIdByRelationResponse, GetAgenterrorsByIdByRelationResponses, GetAgenterrorsByIdData, GetAgenterrorsByIdError, GetAgenterrorsByIdErrors, GetAgenterrorsByIdRelationshipsByRelationData, GetAgenterrorsByIdRelationshipsByRelationError, GetAgenterrorsByIdRelationshipsByRelationErrors, GetAgenterrorsByIdRelationshipsByRelationResponse, GetAgenterrorsByIdRelationshipsByRelationResponses, GetAgenterrorsByIdResponse, GetAgenterrorsByIdResponses, GetAgenterrorsCountData, GetAgenterrorsCountError, GetAgenterrorsCountErrors, GetAgenterrorsCountResponse, GetAgenterrorsCountResponses, GetAgenterrorsData, GetAgenterrorsError, GetAgenterrorsErrors, GetAgenterrorsResponse, GetAgenterrorsResponses, GetAgentsByIdByRelationData, GetAgentsByIdByRelationError, GetAgentsByIdByRelationErrors, GetAgentsByIdByRelationResponse, GetAgentsByIdByRelationResponses, GetAgentsByIdData, GetAgentsByIdError, GetAgentsByIdErrors, GetAgentsByIdRelationshipsByRelationData, GetAgentsByIdRelationshipsByRelationError, GetAgentsByIdRelationshipsByRelationErrors, GetAgentsByIdRelationshipsByRelationResponse, GetAgentsByIdRelationshipsByRelationResponses, GetAgentsByIdResponse, GetAgentsByIdResponses, GetAgentsCountData, GetAgentsCountError, GetAgentsCountErrors, GetAgentsCountResponse, GetAgentsCountResponses, GetAgentsData, GetAgentsError, GetAgentsErrors, GetAgentsResponse, GetAgentsResponses, GetAgentstatsByIdData, GetAgentstatsByIdError, GetAgentstatsByIdErrors, GetAgentstatsByIdResponse, GetAgentstatsByIdResponses, GetAgentstatsCountData, GetAgentstatsCountError, GetAgentstatsCountErrors, GetAgentstatsCountResponse, GetAgentstatsCountResponses, GetAgentstatsData, GetAgentstatsError, GetAgentstatsErrors, GetAgentstatsResponse, GetAgentstatsResponses, GetApiTokensByIdByRelationData, GetApiTokensByIdByRelationError, GetApiTokensByIdByRelationErrors, GetApiTokensByIdByRelationResponse, GetApiTokensByIdByRelationResponses, GetApiTokensByIdData, GetApiTokensByIdError, GetApiTokensByIdErrors, GetApiTokensByIdRelationshipsByRelationData, GetApiTokensByIdRelationshipsByRelationError, GetApiTokensByIdRelationshipsByRelationErrors, GetApiTokensByIdRelationshipsByRelationResponse, GetApiTokensByIdRelationshipsByRelationResponses, GetApiTokensByIdResponse, GetApiTokensByIdResponses, GetApiTokensCountData, GetApiTokensCountError, GetApiTokensCountErrors, GetApiTokensCountResponse, GetApiTokensCountResponses, GetApiTokensData, GetApiTokensError, GetApiTokensErrors, GetApiTokensResponse, GetApiTokensResponses, GetChunksByIdByRelationData, GetChunksByIdByRelationError, GetChunksByIdByRelationErrors, GetChunksByIdByRelationResponse, GetChunksByIdByRelationResponses, GetChunksByIdData, GetChunksByIdError, GetChunksByIdErrors, GetChunksByIdRelationshipsByRelationData, GetChunksByIdRelationshipsByRelationError, GetChunksByIdRelationshipsByRelationErrors, GetChunksByIdRelationshipsByRelationResponse, GetChunksByIdRelationshipsByRelationResponses, GetChunksByIdResponse, GetChunksByIdResponses, GetChunksCountData, GetChunksCountError, GetChunksCountErrors, GetChunksCountResponse, GetChunksCountResponses, GetChunksData, GetChunksError, GetChunksErrors, GetChunksResponse, GetChunksResponses, GetConfigsByIdByRelationData, GetConfigsByIdByRelationError, GetConfigsByIdByRelationErrors, GetConfigsByIdByRelationResponse, GetConfigsByIdByRelationResponses, GetConfigsByIdData, GetConfigsByIdError, GetConfigsByIdErrors, GetConfigsByIdRelationshipsByRelationData, GetConfigsByIdRelationshipsByRelationError, GetConfigsByIdRelationshipsByRelationErrors, GetConfigsByIdRelationshipsByRelationResponse, GetConfigsByIdRelationshipsByRelationResponses, GetConfigsByIdResponse, GetConfigsByIdResponses, GetConfigsCountData, GetConfigsCountError, GetConfigsCountErrors, GetConfigsCountResponse, GetConfigsCountResponses, GetConfigsData, GetConfigsectionsByIdData, GetConfigsectionsByIdError, GetConfigsectionsByIdErrors, GetConfigsectionsByIdResponse, GetConfigsectionsByIdResponses, GetConfigsectionsCountData, GetConfigsectionsCountError, GetConfigsectionsCountErrors, GetConfigsectionsCountResponse, GetConfigsectionsCountResponses, GetConfigsectionsData, GetConfigsectionsError, GetConfigsectionsErrors, GetConfigsectionsResponse, GetConfigsectionsResponses, GetConfigsError, GetConfigsErrors, GetConfigsResponse, GetConfigsResponses, GetCrackersByIdByRelationData, GetCrackersByIdByRelationError, GetCrackersByIdByRelationErrors, GetCrackersByIdByRelationResponse, GetCrackersByIdByRelationResponses, GetCrackersByIdData, GetCrackersByIdError, GetCrackersByIdErrors, GetCrackersByIdRelationshipsByRelationData, GetCrackersByIdRelationshipsByRelationError, GetCrackersByIdRelationshipsByRelationErrors, GetCrackersByIdRelationshipsByRelationResponse, GetCrackersByIdRelationshipsByRelationResponses, GetCrackersByIdResponse, GetCrackersByIdResponses, GetCrackersCountData, GetCrackersCountError, GetCrackersCountErrors, GetCrackersCountResponse, GetCrackersCountResponses, GetCrackersData, GetCrackersError, GetCrackersErrors, GetCrackersResponse, GetCrackersResponses, GetCrackertypesByIdByRelationData, GetCrackertypesByIdByRelationError, GetCrackertypesByIdByRelationErrors, GetCrackertypesByIdByRelationResponse, GetCrackertypesByIdByRelationResponses, GetCrackertypesByIdData, GetCrackertypesByIdError, GetCrackertypesByIdErrors, GetCrackertypesByIdRelationshipsByRelationData, GetCrackertypesByIdRelationshipsByRelationError, GetCrackertypesByIdRelationshipsByRelationErrors, GetCrackertypesByIdRelationshipsByRelationResponse, GetCrackertypesByIdRelationshipsByRelationResponses, GetCrackertypesByIdResponse, GetCrackertypesByIdResponses, GetCrackertypesCountData, GetCrackertypesCountError, GetCrackertypesCountErrors, GetCrackertypesCountResponse, GetCrackertypesCountResponses, GetCrackertypesData, GetCrackertypesError, GetCrackertypesErrors, GetCrackertypesResponse, GetCrackertypesResponses, GetCurrentUserData, GetCurrentUserResponses, GetFilesByIdByRelationData, GetFilesByIdByRelationError, GetFilesByIdByRelationErrors, GetFilesByIdByRelationResponse, GetFilesByIdByRelationResponses, GetFilesByIdData, GetFilesByIdError, GetFilesByIdErrors, GetFilesByIdRelationshipsByRelationData, GetFilesByIdRelationshipsByRelationError, GetFilesByIdRelationshipsByRelationErrors, GetFilesByIdRelationshipsByRelationResponse, GetFilesByIdRelationshipsByRelationResponses, GetFilesByIdResponse, GetFilesByIdResponses, GetFilesCountData, GetFilesCountError, GetFilesCountErrors, GetFilesCountResponse, GetFilesCountResponses, GetFilesData, GetFilesError, GetFilesErrors, GetFilesResponse, GetFilesResponses, GetGetAccessGroupsData, GetGetAccessGroupsResponses, GetGetAgentBinaryData, GetGetAgentBinaryResponses, GetGetBestTasksAgentData, GetGetBestTasksAgentResponses, GetGetCracksOfTaskData, GetGetCracksOfTaskResponses, GetGetFileData, GetGetFileResponses, GetGetTaskProgressImageData, GetGetTaskProgressImageResponses, GetGetUserPermissionData, GetGetUserPermissionResponses, GetGlobalpermissiongroupsByIdByRelationData, GetGlobalpermissiongroupsByIdByRelationError, GetGlobalpermissiongroupsByIdByRelationErrors, GetGlobalpermissiongroupsByIdByRelationResponse, GetGlobalpermissiongroupsByIdByRelationResponses, GetGlobalpermissiongroupsByIdData, GetGlobalpermissiongroupsByIdError, GetGlobalpermissiongroupsByIdErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationData, GetGlobalpermissiongroupsByIdRelationshipsByRelationError, GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses, GetGlobalpermissiongroupsByIdResponse, GetGlobalpermissiongroupsByIdResponses, GetGlobalpermissiongroupsCountData, GetGlobalpermissiongroupsCountError, GetGlobalpermissiongroupsCountErrors, GetGlobalpermissiongroupsCountResponse, GetGlobalpermissiongroupsCountResponses, GetGlobalpermissiongroupsData, GetGlobalpermissiongroupsError, GetGlobalpermissiongroupsErrors, GetGlobalpermissiongroupsResponse, GetGlobalpermissiongroupsResponses, GetHashesByIdByRelationData, GetHashesByIdByRelationError, GetHashesByIdByRelationErrors, GetHashesByIdByRelationResponse, GetHashesByIdByRelationResponses, GetHashesByIdData, GetHashesByIdError, GetHashesByIdErrors, GetHashesByIdRelationshipsByRelationData, GetHashesByIdRelationshipsByRelationError, GetHashesByIdRelationshipsByRelationErrors, GetHashesByIdRelationshipsByRelationResponse, GetHashesByIdRelationshipsByRelationResponses, GetHashesByIdResponse, GetHashesByIdResponses, GetHashesCountData, GetHashesCountError, GetHashesCountErrors, GetHashesCountResponse, GetHashesCountResponses, GetHashesData, GetHashesError, GetHashesErrors, GetHashesResponse, GetHashesResponses, GetHashlistsByIdByRelationData, GetHashlistsByIdByRelationError, GetHashlistsByIdByRelationErrors, GetHashlistsByIdByRelationResponse, GetHashlistsByIdByRelationResponses, GetHashlistsByIdData, GetHashlistsByIdError, GetHashlistsByIdErrors, GetHashlistsByIdRelationshipsByRelationData, GetHashlistsByIdRelationshipsByRelationError, GetHashlistsByIdRelationshipsByRelationErrors, GetHashlistsByIdRelationshipsByRelationResponse, GetHashlistsByIdRelationshipsByRelationResponses, GetHashlistsByIdResponse, GetHashlistsByIdResponses, GetHashlistsCountData, GetHashlistsCountError, GetHashlistsCountErrors, GetHashlistsCountResponse, GetHashlistsCountResponses, GetHashlistsData, GetHashlistsError, GetHashlistsErrors, GetHashlistsResponse, GetHashlistsResponses, GetHashtypesByIdData, GetHashtypesByIdError, GetHashtypesByIdErrors, GetHashtypesByIdResponse, GetHashtypesByIdResponses, GetHashtypesCountData, GetHashtypesCountError, GetHashtypesCountErrors, GetHashtypesCountResponse, GetHashtypesCountResponses, GetHashtypesData, GetHashtypesError, GetHashtypesErrors, GetHashtypesResponse, GetHashtypesResponses, GetHealthcheckagentsByIdByRelationData, GetHealthcheckagentsByIdByRelationError, GetHealthcheckagentsByIdByRelationErrors, GetHealthcheckagentsByIdByRelationResponse, GetHealthcheckagentsByIdByRelationResponses, GetHealthcheckagentsByIdData, GetHealthcheckagentsByIdError, GetHealthcheckagentsByIdErrors, GetHealthcheckagentsByIdRelationshipsByRelationData, GetHealthcheckagentsByIdRelationshipsByRelationError, GetHealthcheckagentsByIdRelationshipsByRelationErrors, GetHealthcheckagentsByIdRelationshipsByRelationResponse, GetHealthcheckagentsByIdRelationshipsByRelationResponses, GetHealthcheckagentsByIdResponse, GetHealthcheckagentsByIdResponses, GetHealthcheckagentsCountData, GetHealthcheckagentsCountError, GetHealthcheckagentsCountErrors, GetHealthcheckagentsCountResponse, GetHealthcheckagentsCountResponses, GetHealthcheckagentsData, GetHealthcheckagentsError, GetHealthcheckagentsErrors, GetHealthcheckagentsResponse, GetHealthcheckagentsResponses, GetHealthchecksByIdByRelationData, GetHealthchecksByIdByRelationError, GetHealthchecksByIdByRelationErrors, GetHealthchecksByIdByRelationResponse, GetHealthchecksByIdByRelationResponses, GetHealthchecksByIdData, GetHealthchecksByIdError, GetHealthchecksByIdErrors, GetHealthchecksByIdRelationshipsByRelationData, GetHealthchecksByIdRelationshipsByRelationError, GetHealthchecksByIdRelationshipsByRelationErrors, GetHealthchecksByIdRelationshipsByRelationResponse, GetHealthchecksByIdRelationshipsByRelationResponses, GetHealthchecksByIdResponse, GetHealthchecksByIdResponses, GetHealthchecksCountData, GetHealthchecksCountError, GetHealthchecksCountErrors, GetHealthchecksCountResponse, GetHealthchecksCountResponses, GetHealthchecksData, GetHealthchecksError, GetHealthchecksErrors, GetHealthchecksResponse, GetHealthchecksResponses, GetImportFileData, GetImportFileResponses, GetLogentriesByIdData, GetLogentriesByIdError, GetLogentriesByIdErrors, GetLogentriesByIdResponse, GetLogentriesByIdResponses, GetLogentriesCountData, GetLogentriesCountError, GetLogentriesCountErrors, GetLogentriesCountResponse, GetLogentriesCountResponses, GetLogentriesData, GetLogentriesError, GetLogentriesErrors, GetLogentriesResponse, GetLogentriesResponses, GetNotificationsByIdByRelationData, GetNotificationsByIdByRelationError, GetNotificationsByIdByRelationErrors, GetNotificationsByIdByRelationResponse, GetNotificationsByIdByRelationResponses, GetNotificationsByIdData, GetNotificationsByIdError, GetNotificationsByIdErrors, GetNotificationsByIdRelationshipsByRelationData, GetNotificationsByIdRelationshipsByRelationError, GetNotificationsByIdRelationshipsByRelationErrors, GetNotificationsByIdRelationshipsByRelationResponse, GetNotificationsByIdRelationshipsByRelationResponses, GetNotificationsByIdResponse, GetNotificationsByIdResponses, GetNotificationsCountData, GetNotificationsCountError, GetNotificationsCountErrors, GetNotificationsCountResponse, GetNotificationsCountResponses, GetNotificationsData, GetNotificationsError, GetNotificationsErrors, GetNotificationsResponse, GetNotificationsResponses, GetPreprocessorsByIdData, GetPreprocessorsByIdError, GetPreprocessorsByIdErrors, GetPreprocessorsByIdResponse, GetPreprocessorsByIdResponses, GetPreprocessorsCountData, GetPreprocessorsCountError, GetPreprocessorsCountErrors, GetPreprocessorsCountResponse, GetPreprocessorsCountResponses, GetPreprocessorsData, GetPreprocessorsError, GetPreprocessorsErrors, GetPreprocessorsResponse, GetPreprocessorsResponses, GetPretasksByIdByRelationData, GetPretasksByIdByRelationError, GetPretasksByIdByRelationErrors, GetPretasksByIdByRelationResponse, GetPretasksByIdByRelationResponses, GetPretasksByIdData, GetPretasksByIdError, GetPretasksByIdErrors, GetPretasksByIdRelationshipsByRelationData, GetPretasksByIdRelationshipsByRelationError, GetPretasksByIdRelationshipsByRelationErrors, GetPretasksByIdRelationshipsByRelationResponse, GetPretasksByIdRelationshipsByRelationResponses, GetPretasksByIdResponse, GetPretasksByIdResponses, GetPretasksCountData, GetPretasksCountError, GetPretasksCountErrors, GetPretasksCountResponse, GetPretasksCountResponses, GetPretasksData, GetPretasksError, GetPretasksErrors, GetPretasksResponse, GetPretasksResponses, GetSpeedsByIdByRelationData, GetSpeedsByIdByRelationError, GetSpeedsByIdByRelationErrors, GetSpeedsByIdByRelationResponse, GetSpeedsByIdByRelationResponses, GetSpeedsByIdData, GetSpeedsByIdError, GetSpeedsByIdErrors, GetSpeedsByIdRelationshipsByRelationData, GetSpeedsByIdRelationshipsByRelationError, GetSpeedsByIdRelationshipsByRelationErrors, GetSpeedsByIdRelationshipsByRelationResponse, GetSpeedsByIdRelationshipsByRelationResponses, GetSpeedsByIdResponse, GetSpeedsByIdResponses, GetSpeedsCountData, GetSpeedsCountError, GetSpeedsCountErrors, GetSpeedsCountResponse, GetSpeedsCountResponses, GetSpeedsData, GetSpeedsError, GetSpeedsErrors, GetSpeedsResponse, GetSpeedsResponses, GetSupertasksByIdByRelationData, GetSupertasksByIdByRelationError, GetSupertasksByIdByRelationErrors, GetSupertasksByIdByRelationResponse, GetSupertasksByIdByRelationResponses, GetSupertasksByIdData, GetSupertasksByIdError, GetSupertasksByIdErrors, GetSupertasksByIdRelationshipsByRelationData, GetSupertasksByIdRelationshipsByRelationError, GetSupertasksByIdRelationshipsByRelationErrors, GetSupertasksByIdRelationshipsByRelationResponse, GetSupertasksByIdRelationshipsByRelationResponses, GetSupertasksByIdResponse, GetSupertasksByIdResponses, GetSupertasksCountData, GetSupertasksCountError, GetSupertasksCountErrors, GetSupertasksCountResponse, GetSupertasksCountResponses, GetSupertasksData, GetSupertasksError, GetSupertasksErrors, GetSupertasksResponse, GetSupertasksResponses, GetTasksByIdByRelationData, GetTasksByIdByRelationError, GetTasksByIdByRelationErrors, GetTasksByIdByRelationResponse, GetTasksByIdByRelationResponses, GetTasksByIdData, GetTasksByIdError, GetTasksByIdErrors, GetTasksByIdRelationshipsByRelationData, GetTasksByIdRelationshipsByRelationError, GetTasksByIdRelationshipsByRelationErrors, GetTasksByIdRelationshipsByRelationResponse, GetTasksByIdRelationshipsByRelationResponses, GetTasksByIdResponse, GetTasksByIdResponses, GetTasksCountData, GetTasksCountError, GetTasksCountErrors, GetTasksCountResponse, GetTasksCountResponses, GetTasksData, GetTasksError, GetTasksErrors, GetTasksResponse, GetTasksResponses, GetTaskwrappersByIdByRelationData, GetTaskwrappersByIdByRelationError, GetTaskwrappersByIdByRelationErrors, GetTaskwrappersByIdByRelationResponse, GetTaskwrappersByIdByRelationResponses, GetTaskwrappersByIdData, GetTaskwrappersByIdError, GetTaskwrappersByIdErrors, GetTaskwrappersByIdRelationshipsByRelationData, GetTaskwrappersByIdRelationshipsByRelationError, GetTaskwrappersByIdRelationshipsByRelationErrors, GetTaskwrappersByIdRelationshipsByRelationResponse, GetTaskwrappersByIdRelationshipsByRelationResponses, GetTaskwrappersByIdResponse, GetTaskwrappersByIdResponses, GetTaskwrappersCountData, GetTaskwrappersCountError, GetTaskwrappersCountErrors, GetTaskwrappersCountResponse, GetTaskwrappersCountResponses, GetTaskwrappersData, GetTaskwrappersError, GetTaskwrappersErrors, GetTaskwrappersResponse, GetTaskwrappersResponses, GetUsersByIdByRelationData, GetUsersByIdByRelationError, GetUsersByIdByRelationErrors, GetUsersByIdByRelationResponse, GetUsersByIdByRelationResponses, GetUsersByIdData, GetUsersByIdError, GetUsersByIdErrors, GetUsersByIdRelationshipsByRelationData, GetUsersByIdRelationshipsByRelationError, GetUsersByIdRelationshipsByRelationErrors, GetUsersByIdRelationshipsByRelationResponse, GetUsersByIdRelationshipsByRelationResponses, GetUsersByIdResponse, GetUsersByIdResponses, GetUsersCountData, GetUsersCountError, GetUsersCountErrors, GetUsersCountResponse, GetUsersCountResponses, GetUsersData, GetUsersError, GetUsersErrors, GetUsersResponse, GetUsersResponses, GetVouchersByIdData, GetVouchersByIdError, GetVouchersByIdErrors, GetVouchersByIdResponse, GetVouchersByIdResponses, GetVouchersCountData, GetVouchersCountError, GetVouchersCountErrors, GetVouchersCountResponse, GetVouchersCountResponses, GetVouchersData, GetVouchersError, GetVouchersErrors, GetVouchersResponse, GetVouchersResponses, GlobalPermissionGroupCreate, GlobalPermissionGroupListResponse, GlobalPermissionGroupPatch, GlobalPermissionGroupPostPatchResponse, GlobalPermissionGroupRelationUserMembers, GlobalPermissionGroupRelationUserMembersGetResponse, GlobalPermissionGroupResponse, HashlistCreate, HashlistListResponse, HashlistPatch, HashlistPostPatchResponse, HashlistRelationTasks, HashlistRelationTasksGetResponse, HashlistResponse, HashListResponse, HashlistSingleResponse, HashRelationHashlist, HashRelationHashlistGetResponse, HashResponse, HashTypeCreate, HashTypeListResponse, HashTypePatch, HashTypePostPatchResponse, HashTypeResponse, HeadImportFileById09aF32Data, HeadImportFileById09aF32Responses, HealthCheckAgentListResponse, HealthCheckAgentRelationHealthCheck, HealthCheckAgentRelationHealthCheckGetResponse, HealthCheckAgentResponse, HealthCheckCreate, HealthCheckListResponse, HealthCheckPatch, HealthCheckPostPatchResponse, HealthCheckRelationHealthCheckAgents, HealthCheckRelationHealthCheckAgentsGetResponse, HealthCheckResponse, ImportCrackedHashesHelperApi, ImportCrackedHashesHelperApiResponse, ImportFileHelperApi, LogEntryCreate, LogEntryListResponse, LogEntryPatch, LogEntryPostPatchResponse, LogEntryResponse, MaskSupertaskBuilderHelperApi, NotFoundResponse, NotificationSettingCreate, NotificationSettingListResponse, NotificationSettingPatch, NotificationSettingPostPatchResponse, NotificationSettingRelationUser, NotificationSettingRelationUserGetResponse, NotificationSettingResponse, PatchAccessgroupsByIdData, PatchAccessgroupsByIdError, PatchAccessgroupsByIdErrors, PatchAccessgroupsByIdRelationshipsByRelationData, PatchAccessgroupsByIdRelationshipsByRelationError, PatchAccessgroupsByIdRelationshipsByRelationErrors, PatchAccessgroupsByIdRelationshipsByRelationResponse, PatchAccessgroupsByIdRelationshipsByRelationResponses, PatchAccessgroupsByIdResponse, PatchAccessgroupsByIdResponses, PatchAccessgroupsData, PatchAccessgroupsError, PatchAccessgroupsErrors, PatchAccessgroupsResponses, PatchAgentassignmentsByIdData, PatchAgentassignmentsByIdError, PatchAgentassignmentsByIdErrors, PatchAgentassignmentsByIdRelationshipsByRelationData, PatchAgentassignmentsByIdRelationshipsByRelationError, PatchAgentassignmentsByIdRelationshipsByRelationErrors, PatchAgentassignmentsByIdRelationshipsByRelationResponse, PatchAgentassignmentsByIdRelationshipsByRelationResponses, PatchAgentassignmentsByIdResponse, PatchAgentassignmentsByIdResponses, PatchAgentassignmentsData, PatchAgentassignmentsError, PatchAgentassignmentsErrors, PatchAgentassignmentsResponses, PatchAgentbinariesByIdData, PatchAgentbinariesByIdError, PatchAgentbinariesByIdErrors, PatchAgentbinariesByIdResponse, PatchAgentbinariesByIdResponses, PatchAgentbinariesData, PatchAgentbinariesError, PatchAgentbinariesErrors, PatchAgentbinariesResponses, PatchAgenterrorsByIdRelationshipsByRelationData, PatchAgenterrorsByIdRelationshipsByRelationError, PatchAgenterrorsByIdRelationshipsByRelationErrors, PatchAgenterrorsByIdRelationshipsByRelationResponse, PatchAgenterrorsByIdRelationshipsByRelationResponses, PatchAgentsByIdData, PatchAgentsByIdError, PatchAgentsByIdErrors, PatchAgentsByIdRelationshipsByRelationData, PatchAgentsByIdRelationshipsByRelationError, PatchAgentsByIdRelationshipsByRelationErrors, PatchAgentsByIdRelationshipsByRelationResponse, PatchAgentsByIdRelationshipsByRelationResponses, PatchAgentsByIdResponse, PatchAgentsByIdResponses, PatchAgentsData, PatchAgentsError, PatchAgentsErrors, PatchAgentsResponses, PatchApiTokensByIdData, PatchApiTokensByIdError, PatchApiTokensByIdErrors, PatchApiTokensByIdRelationshipsByRelationData, PatchApiTokensByIdRelationshipsByRelationError, PatchApiTokensByIdRelationshipsByRelationErrors, PatchApiTokensByIdRelationshipsByRelationResponse, PatchApiTokensByIdRelationshipsByRelationResponses, PatchApiTokensByIdResponse, PatchApiTokensByIdResponses, PatchApiTokensData, PatchApiTokensError, PatchApiTokensErrors, PatchApiTokensResponses, PatchChunksByIdRelationshipsByRelationData, PatchChunksByIdRelationshipsByRelationError, PatchChunksByIdRelationshipsByRelationErrors, PatchChunksByIdRelationshipsByRelationResponse, PatchChunksByIdRelationshipsByRelationResponses, PatchConfigsByIdData, PatchConfigsByIdError, PatchConfigsByIdErrors, PatchConfigsByIdRelationshipsByRelationData, PatchConfigsByIdRelationshipsByRelationError, PatchConfigsByIdRelationshipsByRelationErrors, PatchConfigsByIdRelationshipsByRelationResponse, PatchConfigsByIdRelationshipsByRelationResponses, PatchConfigsByIdResponse, PatchConfigsByIdResponses, PatchConfigsData, PatchConfigsError, PatchConfigsErrors, PatchConfigsResponses, PatchCrackersByIdData, PatchCrackersByIdError, PatchCrackersByIdErrors, PatchCrackersByIdRelationshipsByRelationData, PatchCrackersByIdRelationshipsByRelationError, PatchCrackersByIdRelationshipsByRelationErrors, PatchCrackersByIdRelationshipsByRelationResponse, PatchCrackersByIdRelationshipsByRelationResponses, PatchCrackersByIdResponse, PatchCrackersByIdResponses, PatchCrackersData, PatchCrackersError, PatchCrackersErrors, PatchCrackersResponses, PatchCrackertypesByIdData, PatchCrackertypesByIdError, PatchCrackertypesByIdErrors, PatchCrackertypesByIdRelationshipsByRelationData, PatchCrackertypesByIdRelationshipsByRelationError, PatchCrackertypesByIdRelationshipsByRelationErrors, PatchCrackertypesByIdRelationshipsByRelationResponse, PatchCrackertypesByIdRelationshipsByRelationResponses, PatchCrackertypesByIdResponse, PatchCrackertypesByIdResponses, PatchCrackertypesData, PatchCrackertypesError, PatchCrackertypesErrors, PatchCrackertypesResponses, PatchCurrentUserData, PatchCurrentUserResponses, PatchFilesByIdData, PatchFilesByIdError, PatchFilesByIdErrors, PatchFilesByIdRelationshipsByRelationData, PatchFilesByIdRelationshipsByRelationError, PatchFilesByIdRelationshipsByRelationErrors, PatchFilesByIdRelationshipsByRelationResponse, PatchFilesByIdRelationshipsByRelationResponses, PatchFilesByIdResponse, PatchFilesByIdResponses, PatchFilesData, PatchFilesError, PatchFilesErrors, PatchFilesResponses, PatchGlobalpermissiongroupsByIdData, PatchGlobalpermissiongroupsByIdError, PatchGlobalpermissiongroupsByIdErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationData, PatchGlobalpermissiongroupsByIdRelationshipsByRelationError, PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PatchGlobalpermissiongroupsByIdResponse, PatchGlobalpermissiongroupsByIdResponses, PatchGlobalpermissiongroupsData, PatchGlobalpermissiongroupsError, PatchGlobalpermissiongroupsErrors, PatchGlobalpermissiongroupsResponses, PatchHashesByIdRelationshipsByRelationData, PatchHashesByIdRelationshipsByRelationError, PatchHashesByIdRelationshipsByRelationErrors, PatchHashesByIdRelationshipsByRelationResponse, PatchHashesByIdRelationshipsByRelationResponses, PatchHashlistsByIdData, PatchHashlistsByIdError, PatchHashlistsByIdErrors, PatchHashlistsByIdRelationshipsByRelationData, PatchHashlistsByIdRelationshipsByRelationError, PatchHashlistsByIdRelationshipsByRelationErrors, PatchHashlistsByIdRelationshipsByRelationResponse, PatchHashlistsByIdRelationshipsByRelationResponses, PatchHashlistsByIdResponse, PatchHashlistsByIdResponses, PatchHashlistsData, PatchHashlistsError, PatchHashlistsErrors, PatchHashlistsResponses, PatchHashtypesByIdData, PatchHashtypesByIdError, PatchHashtypesByIdErrors, PatchHashtypesByIdResponse, PatchHashtypesByIdResponses, PatchHashtypesData, PatchHashtypesError, PatchHashtypesErrors, PatchHashtypesResponses, PatchHealthcheckagentsByIdRelationshipsByRelationData, PatchHealthcheckagentsByIdRelationshipsByRelationError, PatchHealthcheckagentsByIdRelationshipsByRelationErrors, PatchHealthcheckagentsByIdRelationshipsByRelationResponse, PatchHealthcheckagentsByIdRelationshipsByRelationResponses, PatchHealthchecksByIdData, PatchHealthchecksByIdError, PatchHealthchecksByIdErrors, PatchHealthchecksByIdRelationshipsByRelationData, PatchHealthchecksByIdRelationshipsByRelationError, PatchHealthchecksByIdRelationshipsByRelationErrors, PatchHealthchecksByIdRelationshipsByRelationResponse, PatchHealthchecksByIdRelationshipsByRelationResponses, PatchHealthchecksByIdResponse, PatchHealthchecksByIdResponses, PatchHealthchecksData, PatchHealthchecksError, PatchHealthchecksErrors, PatchHealthchecksResponses, PatchImportFileById09aF32Data, PatchImportFileById09aF32Response, PatchImportFileById09aF32Responses, PatchLogentriesByIdData, PatchLogentriesByIdError, PatchLogentriesByIdErrors, PatchLogentriesByIdResponse, PatchLogentriesByIdResponses, PatchLogentriesData, PatchLogentriesError, PatchLogentriesErrors, PatchLogentriesResponses, PatchNotificationsByIdData, PatchNotificationsByIdError, PatchNotificationsByIdErrors, PatchNotificationsByIdRelationshipsByRelationData, PatchNotificationsByIdRelationshipsByRelationError, PatchNotificationsByIdRelationshipsByRelationErrors, PatchNotificationsByIdRelationshipsByRelationResponse, PatchNotificationsByIdRelationshipsByRelationResponses, PatchNotificationsByIdResponse, PatchNotificationsByIdResponses, PatchNotificationsData, PatchNotificationsError, PatchNotificationsErrors, PatchNotificationsResponses, PatchPreprocessorsByIdData, PatchPreprocessorsByIdError, PatchPreprocessorsByIdErrors, PatchPreprocessorsByIdResponse, PatchPreprocessorsByIdResponses, PatchPreprocessorsData, PatchPreprocessorsError, PatchPreprocessorsErrors, PatchPreprocessorsResponses, PatchPretasksByIdData, PatchPretasksByIdError, PatchPretasksByIdErrors, PatchPretasksByIdRelationshipsByRelationData, PatchPretasksByIdRelationshipsByRelationError, PatchPretasksByIdRelationshipsByRelationErrors, PatchPretasksByIdRelationshipsByRelationResponse, PatchPretasksByIdRelationshipsByRelationResponses, PatchPretasksByIdResponse, PatchPretasksByIdResponses, PatchPretasksData, PatchPretasksError, PatchPretasksErrors, PatchPretasksResponses, PatchSpeedsByIdRelationshipsByRelationData, PatchSpeedsByIdRelationshipsByRelationError, PatchSpeedsByIdRelationshipsByRelationErrors, PatchSpeedsByIdRelationshipsByRelationResponse, PatchSpeedsByIdRelationshipsByRelationResponses, PatchSupertasksByIdData, PatchSupertasksByIdError, PatchSupertasksByIdErrors, PatchSupertasksByIdRelationshipsByRelationData, PatchSupertasksByIdRelationshipsByRelationError, PatchSupertasksByIdRelationshipsByRelationErrors, PatchSupertasksByIdRelationshipsByRelationResponse, PatchSupertasksByIdRelationshipsByRelationResponses, PatchSupertasksByIdResponse, PatchSupertasksByIdResponses, PatchSupertasksData, PatchSupertasksError, PatchSupertasksErrors, PatchSupertasksResponses, PatchTasksByIdData, PatchTasksByIdError, PatchTasksByIdErrors, PatchTasksByIdRelationshipsByRelationData, PatchTasksByIdRelationshipsByRelationError, PatchTasksByIdRelationshipsByRelationErrors, PatchTasksByIdRelationshipsByRelationResponse, PatchTasksByIdRelationshipsByRelationResponses, PatchTasksByIdResponse, PatchTasksByIdResponses, PatchTasksData, PatchTasksError, PatchTasksErrors, PatchTasksResponses, PatchTaskwrappersByIdData, PatchTaskwrappersByIdError, PatchTaskwrappersByIdErrors, PatchTaskwrappersByIdRelationshipsByRelationData, PatchTaskwrappersByIdRelationshipsByRelationError, PatchTaskwrappersByIdRelationshipsByRelationErrors, PatchTaskwrappersByIdRelationshipsByRelationResponse, PatchTaskwrappersByIdRelationshipsByRelationResponses, PatchTaskwrappersByIdResponse, PatchTaskwrappersByIdResponses, PatchTaskwrappersData, PatchTaskwrappersError, PatchTaskwrappersErrors, PatchTaskwrappersResponses, PatchUsersByIdData, PatchUsersByIdError, PatchUsersByIdErrors, PatchUsersByIdRelationshipsByRelationData, PatchUsersByIdRelationshipsByRelationError, PatchUsersByIdRelationshipsByRelationErrors, PatchUsersByIdRelationshipsByRelationResponse, PatchUsersByIdRelationshipsByRelationResponses, PatchUsersByIdResponse, PatchUsersByIdResponses, PatchUsersData, PatchUsersError, PatchUsersErrors, PatchUsersResponses, PatchVouchersByIdData, PatchVouchersByIdError, PatchVouchersByIdErrors, PatchVouchersByIdResponse, PatchVouchersByIdResponses, PatchVouchersData, PatchVouchersError, PatchVouchersErrors, PatchVouchersResponses, PostAbortChunkData, PostAbortChunkResponse, PostAbortChunkResponses, PostAccessgroupsByIdRelationshipsByRelationData, PostAccessgroupsByIdRelationshipsByRelationError, PostAccessgroupsByIdRelationshipsByRelationErrors, PostAccessgroupsByIdRelationshipsByRelationResponse, PostAccessgroupsByIdRelationshipsByRelationResponses, PostAccessgroupsData, PostAccessgroupsError, PostAccessgroupsErrors, PostAccessgroupsResponse, PostAccessgroupsResponses, PostAgentassignmentsData, PostAgentassignmentsError, PostAgentassignmentsErrors, PostAgentassignmentsResponse, PostAgentassignmentsResponses, PostAgentbinariesData, PostAgentbinariesError, PostAgentbinariesErrors, PostAgentbinariesResponse, PostAgentbinariesResponses, PostAgentsByIdRelationshipsByRelationData, PostAgentsByIdRelationshipsByRelationError, PostAgentsByIdRelationshipsByRelationErrors, PostAgentsByIdRelationshipsByRelationResponse, PostAgentsByIdRelationshipsByRelationResponses, PostApiTokensData, PostApiTokensError, PostApiTokensErrors, PostApiTokensResponse, PostApiTokensResponses, PostAssignAgentData, PostAssignAgentResponse, PostAssignAgentResponses, PostBulkSupertaskBuilderData, PostBulkSupertaskBuilderResponse, PostBulkSupertaskBuilderResponses, PostChangeOwnPasswordData, PostChangeOwnPasswordResponse, PostChangeOwnPasswordResponses, PostCrackersByIdRelationshipsByRelationData, PostCrackersByIdRelationshipsByRelationError, PostCrackersByIdRelationshipsByRelationErrors, PostCrackersByIdRelationshipsByRelationResponse, PostCrackersByIdRelationshipsByRelationResponses, PostCrackersData, PostCrackersError, PostCrackersErrors, PostCrackersResponse, PostCrackersResponses, PostCrackertypesByIdRelationshipsByRelationData, PostCrackertypesByIdRelationshipsByRelationError, PostCrackertypesByIdRelationshipsByRelationErrors, PostCrackertypesByIdRelationshipsByRelationResponse, PostCrackertypesByIdRelationshipsByRelationResponses, PostCrackertypesData, PostCrackertypesError, PostCrackertypesErrors, PostCrackertypesResponse, PostCrackertypesResponses, PostCreateSuperHashlistData, PostCreateSuperHashlistResponse, PostCreateSuperHashlistResponses, PostCreateSupertaskData, PostCreateSupertaskResponse, PostCreateSupertaskResponses, PostExportCrackedHashesData, PostExportCrackedHashesResponse, PostExportCrackedHashesResponses, PostExportLeftHashesData, PostExportLeftHashesResponse, PostExportLeftHashesResponses, PostExportWordlistData, PostExportWordlistResponse, PostExportWordlistResponses, PostFilesData, PostFilesError, PostFilesErrors, PostFilesResponse, PostFilesResponses, PostGlobalpermissiongroupsByIdRelationshipsByRelationData, PostGlobalpermissiongroupsByIdRelationshipsByRelationError, PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PostGlobalpermissiongroupsData, PostGlobalpermissiongroupsError, PostGlobalpermissiongroupsErrors, PostGlobalpermissiongroupsResponse, PostGlobalpermissiongroupsResponses, PostHashlistsByIdRelationshipsByRelationData, PostHashlistsByIdRelationshipsByRelationError, PostHashlistsByIdRelationshipsByRelationErrors, PostHashlistsByIdRelationshipsByRelationResponse, PostHashlistsByIdRelationshipsByRelationResponses, PostHashlistsData, PostHashlistsError, PostHashlistsErrors, PostHashlistsResponse, PostHashlistsResponses, PostHashtypesData, PostHashtypesError, PostHashtypesErrors, PostHashtypesResponse, PostHashtypesResponses, PostHealthchecksByIdRelationshipsByRelationData, PostHealthchecksByIdRelationshipsByRelationError, PostHealthchecksByIdRelationshipsByRelationErrors, PostHealthchecksByIdRelationshipsByRelationResponse, PostHealthchecksByIdRelationshipsByRelationResponses, PostHealthchecksData, PostHealthchecksError, PostHealthchecksErrors, PostHealthchecksResponse, PostHealthchecksResponses, PostImportCrackedHashesData, PostImportCrackedHashesResponse, PostImportCrackedHashesResponses, PostImportFileData, PostImportFileResponse, PostImportFileResponses, PostLogentriesData, PostLogentriesError, PostLogentriesErrors, PostLogentriesResponse, PostLogentriesResponses, PostMaskSupertaskBuilderData, PostMaskSupertaskBuilderResponse, PostMaskSupertaskBuilderResponses, PostNotificationsData, PostNotificationsError, PostNotificationsErrors, PostNotificationsResponse, PostNotificationsResponses, PostPreprocessorsData, PostPreprocessorsError, PostPreprocessorsErrors, PostPreprocessorsResponse, PostPreprocessorsResponses, PostPretasksByIdRelationshipsByRelationData, PostPretasksByIdRelationshipsByRelationError, PostPretasksByIdRelationshipsByRelationErrors, PostPretasksByIdRelationshipsByRelationResponse, PostPretasksByIdRelationshipsByRelationResponses, PostPretasksData, PostPretasksError, PostPretasksErrors, PostPretasksResponse, PostPretasksResponses, PostPurgeTaskData, PostPurgeTaskResponse, PostPurgeTaskResponses, PostRebuildChunkCacheData, PostRebuildChunkCacheResponse, PostRebuildChunkCacheResponses, PostRecountFileLinesData, PostRecountFileLinesResponse, PostRecountFileLinesResponses, PostRescanGlobalFilesData, PostRescanGlobalFilesResponse, PostRescanGlobalFilesResponses, PostResetChunkData, PostResetChunkResponse, PostResetChunkResponses, PostResetUserPasswordData, PostResetUserPasswordResponse, PostResetUserPasswordResponses, PostSearchHashesData, PostSearchHashesResponse, PostSearchHashesResponses, PostSetUserPasswordData, PostSetUserPasswordResponse, PostSetUserPasswordResponses, PostSupertasksByIdRelationshipsByRelationData, PostSupertasksByIdRelationshipsByRelationError, PostSupertasksByIdRelationshipsByRelationErrors, PostSupertasksByIdRelationshipsByRelationResponse, PostSupertasksByIdRelationshipsByRelationResponses, PostSupertasksData, PostSupertasksError, PostSupertasksErrors, PostSupertasksResponse, PostSupertasksResponses, PostTasksByIdRelationshipsByRelationData, PostTasksByIdRelationshipsByRelationError, PostTasksByIdRelationshipsByRelationErrors, PostTasksByIdRelationshipsByRelationResponse, PostTasksByIdRelationshipsByRelationResponses, PostTasksData, PostTasksError, PostTasksErrors, PostTasksResponse, PostTasksResponses, PostTaskwrappersByIdRelationshipsByRelationData, PostTaskwrappersByIdRelationshipsByRelationError, PostTaskwrappersByIdRelationshipsByRelationErrors, PostTaskwrappersByIdRelationshipsByRelationResponse, PostTaskwrappersByIdRelationshipsByRelationResponses, PostTokenData, PostTokenError, PostTokenErrors, PostTokenResponse, PostTokenResponses, PostUnassignAgentData, PostUnassignAgentResponse, PostUnassignAgentResponses, PostUsersByIdRelationshipsByRelationData, PostUsersByIdRelationshipsByRelationError, PostUsersByIdRelationshipsByRelationErrors, PostUsersByIdRelationshipsByRelationResponse, PostUsersByIdRelationshipsByRelationResponses, PostUsersData, PostUsersError, PostUsersErrors, PostUsersResponse, PostUsersResponses, PostVouchersData, PostVouchersError, PostVouchersErrors, PostVouchersResponse, PostVouchersResponses, PreprocessorCreate, PreprocessorListResponse, PreprocessorPatch, PreprocessorPostPatchResponse, PreprocessorResponse, PreTaskCreate, PreTaskListResponse, PreTaskPatch, PreTaskPostPatchResponse, PreTaskRelationPretaskFiles, PreTaskRelationPretaskFilesGetResponse, PreTaskResponse, PurgeTaskHelperApi, PurgeTaskHelperApiResponse, RebuildChunkCacheHelperApi, RebuildChunkCacheHelperApiResponse, RecountFileLinesHelperApi, RescanGlobalFilesHelperApi, RescanGlobalFilesHelperApiResponse, ResetChunkHelperApi, ResetChunkHelperApiResponse, ResetUserPasswordHelperApi, ResetUserPasswordHelperApiResponse, SearchHashesHelperApi, SearchHashesHelperApiResponse, SetUserPasswordHelperApi, SetUserPasswordHelperApiResponse, SpeedListResponse, SpeedRelationTask, SpeedRelationTaskGetResponse, SpeedResponse, SupertaskCreate, SupertaskListResponse, SupertaskPatch, SupertaskPostPatchResponse, SupertaskRelationPretasks, SupertaskRelationPretasksGetResponse, SupertaskResponse, SupertaskSingleResponse, TaskCreate, TaskListResponse, TaskPatch, TaskPostPatchResponse, TaskRelationSpeeds, TaskRelationSpeedsGetResponse, TaskResponse, TaskWrapperListResponse, TaskWrapperPatch, TaskWrapperPostPatchResponse, TaskWrapperRelationTasks, TaskWrapperRelationTasksGetResponse, TaskWrapperResponse, TaskWrapperSingleResponse, Token, TokenRequest, UnassignAgentHelperApi, UnassignAgentHelperApiResponse, UserCreate, UserListResponse, UserPatch, UserPostPatchResponse, UserRelationAccessGroups, UserRelationAccessGroupsGetResponse, UserResponse, VoucherCreate, VoucherListResponse, VoucherPatch, VoucherPostPatchResponse, VoucherResponse } from './types.gen'; diff --git a/src/generated/api/types.gen.ts b/src/generated/api/types.gen.ts index 3dcd1af9e..938123957 100644 --- a/src/generated/api/types.gen.ts +++ b/src/generated/api/types.gen.ts @@ -25,7 +25,7 @@ export type AccessGroupCreate = { data: { type: 'accessGroup'; attributes: { - groupName?: string; + groupName: string; }; }; }; @@ -42,7 +42,7 @@ export type AccessGroupPatch = { export type AccessGroupResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -87,7 +87,7 @@ export type AccessGroupResponse = { agentId?: number; agentName?: string; uid?: string; - os?: number; + os?: 0 | 1 | 2; devices?: string; cmdPars?: string; ignoreErrors?: 0 | 1 | 2; @@ -107,7 +107,7 @@ export type AccessGroupResponse = { export type AccessGroupPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -121,7 +121,7 @@ export type AccessGroupPostPatchResponse = { export type AccessGroupListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -166,7 +166,7 @@ export type AccessGroupListResponse = { agentId?: number; agentName?: string; uid?: string; - os?: number; + os?: 0 | 1 | 2; devices?: string; cmdPars?: string; ignoreErrors?: 0 | 1 | 2; @@ -207,7 +207,7 @@ export type AgentPatch = { ignoreErrors?: 0 | 1 | 2; isActive?: boolean; isTrusted?: boolean; - os?: number; + os?: 0 | 1 | 2; uid?: string; userId?: number; }; @@ -217,7 +217,7 @@ export type AgentPatch = { export type AgentResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -232,7 +232,7 @@ export type AgentResponse = { attributes: { agentName: string; uid: string; - os: number; + os: 0 | 1 | 2; devices: string; cmdPars: string; ignoreErrors: 0 | 1 | 2; @@ -334,7 +334,7 @@ export type AgentResponse = { export type AgentPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -342,7 +342,7 @@ export type AgentPostPatchResponse = { attributes: { agentName: string; uid: string; - os: number; + os: 0 | 1 | 2; devices: string; cmdPars: string; ignoreErrors: 0 | 1 | 2; @@ -362,7 +362,7 @@ export type AgentPostPatchResponse = { export type AgentListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -377,7 +377,7 @@ export type AgentListResponse = { attributes: { agentName: string; uid: string; - os: number; + os: 0 | 1 | 2; devices: string; cmdPars: string; ignoreErrors: 0 | 1 | 2; @@ -490,30 +490,30 @@ export type AgentRelationAssignmentsGetResponse = { }>; }; -export type AssignmentCreate = { +export type AgentAssignmentCreate = { data: { - type: 'assignment'; + type: 'agentAssignment'; attributes: { - taskId?: number; - agentId?: number; + taskId: number; + agentId: number; benchmark?: string; }; }; }; -export type AssignmentPatch = { +export type AgentAssignmentPatch = { data: { - type: 'assignment'; + type: 'agentAssignment'; attributes: { benchmark?: string; }; }; }; -export type AssignmentResponse = { +export type AgentAssignmentResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -524,7 +524,7 @@ export type AssignmentResponse = { }; data: { id: number; - type: 'assignment'; + type: 'agentAssignment'; attributes: { taskId: number; agentId: number; @@ -587,14 +587,14 @@ export type AssignmentResponse = { }>; }; -export type AssignmentPostPatchResponse = { +export type AgentAssignmentPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; - type: 'assignment'; + type: 'agentAssignment'; attributes: { taskId: number; agentId: number; @@ -603,10 +603,10 @@ export type AssignmentPostPatchResponse = { }; }; -export type AssignmentListResponse = { +export type AgentAssignmentListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -617,7 +617,7 @@ export type AssignmentListResponse = { }; data: Array<{ id: number; - type: 'assignment'; + type: 'agentAssignment'; attributes: { taskId: number; agentId: number; @@ -680,14 +680,14 @@ export type AssignmentListResponse = { }>; }; -export type AssignmentRelationTask = { +export type AgentAssignmentRelationTask = { data: { type: 'task'; id: number; }; }; -export type AssignmentRelationTaskGetResponse = { +export type AgentAssignmentRelationTaskGetResponse = { data: { type: 'task'; id: number; @@ -698,11 +698,11 @@ export type AgentBinaryCreate = { data: { type: 'agentBinary'; attributes: { - binaryType?: string; - version?: string; - operatingSystems?: string; - filename?: string; - updateTrack?: string; + binaryType: string; + version: string; + operatingSystems: string; + filename: string; + updateTrack: string; }; }; }; @@ -723,7 +723,7 @@ export type AgentBinaryPatch = { export type AgentBinaryResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -755,7 +755,7 @@ export type AgentBinaryResponse = { export type AgentBinaryPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -774,7 +774,7 @@ export type AgentBinaryPostPatchResponse = { export type AgentBinaryListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -806,7 +806,7 @@ export type AgentBinaryListResponse = { export type AgentErrorResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -875,7 +875,7 @@ export type AgentErrorResponse = { export type AgentErrorListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -958,7 +958,7 @@ export type AgentErrorRelationTaskGetResponse = { export type AgentStatResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -972,7 +972,7 @@ export type AgentStatResponse = { type: 'agentStat'; attributes: { agentId: number; - statType: number; + statType: 1 | 2 | 3; time: number; value: Array; }; @@ -988,7 +988,7 @@ export type AgentStatResponse = { export type AgentStatListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1002,7 +1002,7 @@ export type AgentStatListResponse = { type: 'agentStat'; attributes: { agentId: number; - statType: number; + statType: 1 | 2 | 3; time: number; value: Array; }; @@ -1015,32 +1015,32 @@ export type AgentStatListResponse = { }>; }; -export type JwtApiKeyCreate = { +export type ApiTokenCreate = { data: { - type: 'jwtApiKey'; + type: 'apiToken'; attributes: { - scopes?: Array; - startValid?: number; - endValid?: number; - userId?: number; - isRevoked?: boolean; + scopes: Array; + startValid: number; + endValid: number; + userId: number; + isRevoked: boolean; }; }; }; -export type JwtApiKeyPatch = { +export type ApiTokenPatch = { data: { - type: 'jwtApiKey'; + type: 'apiToken'; attributes: { isRevoked?: boolean; }; }; }; -export type JwtApiKeyResponse = { +export type ApiTokenResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1051,7 +1051,7 @@ export type JwtApiKeyResponse = { }; data: { id: number; - type: 'jwtApiKey'; + type: 'apiToken'; attributes: { startValid: number; endValid: number; @@ -1076,7 +1076,7 @@ export type JwtApiKeyResponse = { id?: number; type?: 'user'; attributes?: { - userId?: number; + id?: number; name?: string; email?: string; passwordHash?: string; @@ -1096,14 +1096,14 @@ export type JwtApiKeyResponse = { }>; }; -export type JwtApiKeyPostPatchResponse = { +export type ApiTokenPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; - type: 'jwtApiKey'; + type: 'apiToken'; attributes: { startValid: number; endValid: number; @@ -1114,10 +1114,10 @@ export type JwtApiKeyPostPatchResponse = { }; }; -export type JwtApiKeyListResponse = { +export type ApiTokenListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1128,7 +1128,7 @@ export type JwtApiKeyListResponse = { }; data: Array<{ id: number; - type: 'jwtApiKey'; + type: 'apiToken'; attributes: { startValid: number; endValid: number; @@ -1153,7 +1153,7 @@ export type JwtApiKeyListResponse = { id?: number; type?: 'user'; attributes?: { - userId?: number; + id?: number; name?: string; email?: string; passwordHash?: string; @@ -1173,14 +1173,14 @@ export type JwtApiKeyListResponse = { }>; }; -export type JwtApiKeyRelationUser = { +export type ApiTokenRelationUser = { data: { type: 'user'; id: number; }; }; -export type JwtApiKeyRelationUserGetResponse = { +export type ApiTokenRelationUserGetResponse = { data: { type: 'user'; id: number; @@ -1190,7 +1190,7 @@ export type JwtApiKeyRelationUserGetResponse = { export type ChunkResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1211,7 +1211,7 @@ export type ChunkResponse = { solveTime: number; checkpoint: number; progress: number; - state: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; cracked: number; speed: number; }; @@ -1275,7 +1275,7 @@ export type ChunkResponse = { export type ChunkListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1296,7 +1296,7 @@ export type ChunkListResponse = { solveTime: number; checkpoint: number; progress: number; - state: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; cracked: number; speed: number; }; @@ -1384,7 +1384,7 @@ export type ConfigPatch = { export type ConfigResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1427,7 +1427,7 @@ export type ConfigResponse = { export type ConfigPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -1443,7 +1443,7 @@ export type ConfigPostPatchResponse = { export type ConfigListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1500,7 +1500,7 @@ export type ConfigRelationConfigSectionGetResponse = { export type ConfigSectionResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1527,7 +1527,7 @@ export type ConfigSectionResponse = { export type ConfigSectionListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1555,10 +1555,10 @@ export type CrackerBinaryCreate = { data: { type: 'crackerBinary'; attributes: { - crackerBinaryTypeId?: number; - version?: string; - downloadUrl?: string; - binaryName?: string; + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; }; }; }; @@ -1577,7 +1577,7 @@ export type CrackerBinaryPatch = { export type CrackerBinaryResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1655,7 +1655,7 @@ export type CrackerBinaryResponse = { export type CrackerBinaryPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -1672,7 +1672,7 @@ export type CrackerBinaryPostPatchResponse = { export type CrackerBinaryListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1765,7 +1765,7 @@ export type CrackerBinaryTypeCreate = { data: { type: 'crackerBinaryType'; attributes: { - typeName?: string; + typeName: string; }; }; }; @@ -1783,7 +1783,7 @@ export type CrackerBinaryTypePatch = { export type CrackerBinaryTypeResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1859,7 +1859,7 @@ export type CrackerBinaryTypeResponse = { export type CrackerBinaryTypePostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -1874,7 +1874,7 @@ export type CrackerBinaryTypePostPatchResponse = { export type CrackerBinaryTypeListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -1965,12 +1965,12 @@ export type FileCreate = { data: { type: 'file'; attributes: { - sourceType?: string; - sourceData?: string; - filename?: string; - isSecret?: boolean; - fileType?: number; - accessGroupId?: number; + sourceType: string; + sourceData: string; + filename: string; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; }; }; }; @@ -1980,7 +1980,7 @@ export type FilePatch = { type: 'file'; attributes: { accessGroupId?: number; - fileType?: number; + fileType?: 0 | 1 | 2 | 100; filename?: string; isSecret?: boolean; }; @@ -1990,7 +1990,7 @@ export type FilePatch = { export type FileResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -2006,7 +2006,7 @@ export type FileResponse = { filename: string; size: number; isSecret: boolean; - fileType: number; + fileType: 0 | 1 | 2 | 100; accessGroupId: number; lineCount: number; }; @@ -2041,7 +2041,7 @@ export type FileSingleResponse = { filename: string; size: number; isSecret: boolean; - fileType: number; + fileType: 0 | 1 | 2 | 100; accessGroupId: number; lineCount: number; }; @@ -2071,7 +2071,7 @@ export type FileSingleResponse = { export type FilePostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -2080,7 +2080,7 @@ export type FilePostPatchResponse = { filename: string; size: number; isSecret: boolean; - fileType: number; + fileType: 0 | 1 | 2 | 100; accessGroupId: number; lineCount: number; }; @@ -2090,7 +2090,7 @@ export type FilePostPatchResponse = { export type FileListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -2106,7 +2106,7 @@ export type FileListResponse = { filename: string; size: number; isSecret: boolean; - fileType: number; + fileType: 0 | 1 | 2 | 100; accessGroupId: number; lineCount: number; }; @@ -2147,34 +2147,34 @@ export type FileRelationAccessGroupGetResponse = { }; }; -export type RightGroupCreate = { +export type GlobalPermissionGroupCreate = { data: { - type: 'rightGroup'; + type: 'globalPermissionGroup'; attributes: { - name?: string; + name: string; permissions?: { - [key: string]: unknown; + [key: string]: boolean; }; }; }; }; -export type RightGroupPatch = { +export type GlobalPermissionGroupPatch = { data: { - type: 'rightGroup'; + type: 'globalPermissionGroup'; attributes: { name?: string; permissions?: { - [key: string]: unknown; + [key: string]: boolean; }; }; }; }; -export type RightGroupResponse = { +export type GlobalPermissionGroupResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -2185,11 +2185,11 @@ export type RightGroupResponse = { }; data: { id: number; - type: 'rightGroup'; + type: 'globalPermissionGroup'; attributes: { name: string; permissions: { - [key: string]: unknown; + [key: string]: boolean; }; }; }; @@ -2209,7 +2209,7 @@ export type RightGroupResponse = { id?: number; type?: 'userMembers'; attributes?: { - userId?: number; + id?: number; name?: string; email?: string; passwordHash?: string; @@ -2229,27 +2229,27 @@ export type RightGroupResponse = { }>; }; -export type RightGroupPostPatchResponse = { +export type GlobalPermissionGroupPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; - type: 'rightGroup'; + type: 'globalPermissionGroup'; attributes: { name: string; permissions: { - [key: string]: unknown; + [key: string]: boolean; }; }; }; }; -export type RightGroupListResponse = { +export type GlobalPermissionGroupListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -2260,11 +2260,11 @@ export type RightGroupListResponse = { }; data: Array<{ id: number; - type: 'rightGroup'; + type: 'globalPermissionGroup'; attributes: { name: string; permissions: { - [key: string]: unknown; + [key: string]: boolean; }; }; }>; @@ -2284,7 +2284,7 @@ export type RightGroupListResponse = { id?: number; type?: 'userMembers'; attributes?: { - userId?: number; + id?: number; name?: string; email?: string; passwordHash?: string; @@ -2304,14 +2304,14 @@ export type RightGroupListResponse = { }>; }; -export type RightGroupRelationUserMembers = { +export type GlobalPermissionGroupRelationUserMembers = { data: Array<{ type: 'userMembers'; id: number; }>; }; -export type RightGroupRelationUserMembersGetResponse = { +export type GlobalPermissionGroupRelationUserMembersGetResponse = { data: Array<{ type: 'userMembers'; id: number; @@ -2321,7 +2321,7 @@ export type RightGroupRelationUserMembersGetResponse = { export type HashResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -2395,7 +2395,7 @@ export type HashResponse = { export type HashListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -2485,21 +2485,21 @@ export type HashlistCreate = { type: 'hashlist'; attributes: { hashlistSeperator?: string; - sourceType?: string; - sourceData?: string; - name?: string; - format?: 0 | 1 | 2 | 3; - hashTypeId?: number; - hashCount?: number; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; separator?: string; - isSecret?: boolean; - isHexSalt?: boolean; - isSalted?: boolean; - accessGroupId?: number; - notes?: string; - useBrain?: boolean; - brainFeatures?: number; - isArchived?: boolean; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; }; }; }; @@ -2520,7 +2520,7 @@ export type HashlistPatch = { export type HashlistResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -2745,7 +2745,7 @@ export type HashlistSingleResponse = { export type HashlistPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -2772,7 +2772,7 @@ export type HashlistPostPatchResponse = { export type HashlistListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -2905,10 +2905,10 @@ export type HashTypeCreate = { data: { type: 'hashType'; attributes: { - hashTypeId?: number; - description?: string; - isSalted?: boolean; - isSlowHash?: boolean; + hashTypeId: number; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; }; }; @@ -2927,7 +2927,7 @@ export type HashTypePatch = { export type HashTypeResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -2956,7 +2956,7 @@ export type HashTypeResponse = { export type HashTypePostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -2972,7 +2972,7 @@ export type HashTypePostPatchResponse = { export type HashTypeListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3001,7 +3001,7 @@ export type HashTypeListResponse = { export type HealthCheckAgentResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3016,7 +3016,7 @@ export type HealthCheckAgentResponse = { attributes: { healthCheckId: number; agentId: number; - status: number; + status: -1 | 0 | 1; cracked: number; numGpus: number; start: number; @@ -3052,8 +3052,8 @@ export type HealthCheckAgentResponse = { attributes?: { healthCheckId?: number; time?: number; - status?: number; - checkType?: number; + status?: -1 | 0 | 1; + checkType?: 0 | 3200; hashtypeId?: number; crackerBinaryId?: number; expectedCracks?: number; @@ -3065,7 +3065,7 @@ export type HealthCheckAgentResponse = { export type HealthCheckAgentListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3080,7 +3080,7 @@ export type HealthCheckAgentListResponse = { attributes: { healthCheckId: number; agentId: number; - status: number; + status: -1 | 0 | 1; cracked: number; numGpus: number; start: number; @@ -3116,8 +3116,8 @@ export type HealthCheckAgentListResponse = { attributes?: { healthCheckId?: number; time?: number; - status?: number; - checkType?: number; + status?: -1 | 0 | 1; + checkType?: 0 | 3200; hashtypeId?: number; crackerBinaryId?: number; expectedCracks?: number; @@ -3144,9 +3144,9 @@ export type HealthCheckCreate = { data: { type: 'healthCheck'; attributes: { - checkType?: number; - hashtypeId?: number; - crackerBinaryId?: number; + checkType: 0 | 3200; + hashtypeId: number; + crackerBinaryId: number; }; }; }; @@ -3155,7 +3155,7 @@ export type HealthCheckPatch = { data: { type: 'healthCheck'; attributes: { - checkType?: number; + checkType?: 0 | 3200; }; }; }; @@ -3163,7 +3163,7 @@ export type HealthCheckPatch = { export type HealthCheckResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3177,8 +3177,8 @@ export type HealthCheckResponse = { type: 'healthCheck'; attributes: { time: number; - status: number; - checkType: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; hashtypeId: number; crackerBinaryId: number; expectedCracks: number; @@ -3224,7 +3224,7 @@ export type HealthCheckResponse = { healthCheckAgentId?: number; healthCheckId?: number; agentId?: number; - status?: number; + status?: -1 | 0 | 1; cracked?: number; numGpus?: number; start?: number; @@ -3237,15 +3237,15 @@ export type HealthCheckResponse = { export type HealthCheckPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; type: 'healthCheck'; attributes: { time: number; - status: number; - checkType: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; hashtypeId: number; crackerBinaryId: number; expectedCracks: number; @@ -3257,7 +3257,7 @@ export type HealthCheckPostPatchResponse = { export type HealthCheckListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3271,8 +3271,8 @@ export type HealthCheckListResponse = { type: 'healthCheck'; attributes: { time: number; - status: number; - checkType: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; hashtypeId: number; crackerBinaryId: number; expectedCracks: number; @@ -3318,7 +3318,7 @@ export type HealthCheckListResponse = { healthCheckAgentId?: number; healthCheckId?: number; agentId?: number; - status?: number; + status?: -1 | 0 | 1; cracked?: number; numGpus?: number; start?: number; @@ -3363,7 +3363,7 @@ export type LogEntryPatch = { export type LogEntryResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3376,9 +3376,9 @@ export type LogEntryResponse = { id: number; type: 'logEntry'; attributes: { - issuer: string; + issuer: 'API' | 'User'; issuerId: string; - level: string; + level: 'warning' | 'error' | 'fatal error' | 'information'; message: string; time: number; }; @@ -3394,15 +3394,15 @@ export type LogEntryResponse = { export type LogEntryPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; type: 'logEntry'; attributes: { - issuer: string; + issuer: 'API' | 'User'; issuerId: string; - level: string; + level: 'warning' | 'error' | 'fatal error' | 'information'; message: string; time: number; }; @@ -3412,7 +3412,7 @@ export type LogEntryPostPatchResponse = { export type LogEntryListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3425,9 +3425,9 @@ export type LogEntryListResponse = { id: number; type: 'logEntry'; attributes: { - issuer: string; + issuer: 'API' | 'User'; issuerId: string; - level: string; + level: 'warning' | 'error' | 'fatal error' | 'information'; message: string; time: number; }; @@ -3444,10 +3444,10 @@ export type NotificationSettingCreate = { data: { type: 'notificationSetting'; attributes: { - actionFilter?: string; - action?: string; - notification?: string; - receiver?: string; + actionFilter: string; + action: 'createNotification' | 'setActive' | 'deleteNotification'; + notification: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; + receiver: string; }; }; }; @@ -3456,9 +3456,9 @@ export type NotificationSettingPatch = { data: { type: 'notificationSetting'; attributes: { - action?: string; + action?: 'createNotification' | 'setActive' | 'deleteNotification'; isActive?: boolean; - notification?: string; + notification?: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; receiver?: string; }; }; @@ -3467,7 +3467,7 @@ export type NotificationSettingPatch = { export type NotificationSettingResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3480,9 +3480,9 @@ export type NotificationSettingResponse = { id: number; type: 'notificationSetting'; attributes: { - action: string; + action: 'createNotification' | 'setActive' | 'deleteNotification'; objectId: number; - notification: string; + notification: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; userId: number; receiver: string; isActive: boolean; @@ -3504,7 +3504,7 @@ export type NotificationSettingResponse = { id?: number; type?: 'user'; attributes?: { - userId?: number; + id?: number; name?: string; email?: string; passwordHash?: string; @@ -3527,15 +3527,15 @@ export type NotificationSettingResponse = { export type NotificationSettingPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; type: 'notificationSetting'; attributes: { - action: string; + action: 'createNotification' | 'setActive' | 'deleteNotification'; objectId: number; - notification: string; + notification: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; userId: number; receiver: string; isActive: boolean; @@ -3546,7 +3546,7 @@ export type NotificationSettingPostPatchResponse = { export type NotificationSettingListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3559,9 +3559,9 @@ export type NotificationSettingListResponse = { id: number; type: 'notificationSetting'; attributes: { - action: string; + action: 'createNotification' | 'setActive' | 'deleteNotification'; objectId: number; - notification: string; + notification: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; userId: number; receiver: string; isActive: boolean; @@ -3583,7 +3583,7 @@ export type NotificationSettingListResponse = { id?: number; type?: 'user'; attributes?: { - userId?: number; + id?: number; name?: string; email?: string; passwordHash?: string; @@ -3621,12 +3621,12 @@ export type PreprocessorCreate = { data: { type: 'preprocessor'; attributes: { - name?: string; - url?: string; - binaryName?: string; - keyspaceCommand?: string; - skipCommand?: string; - limitCommand?: string; + name: string; + url: string; + binaryName: string; + keyspaceCommand: string; + skipCommand: string; + limitCommand: string; }; }; }; @@ -3648,7 +3648,7 @@ export type PreprocessorPatch = { export type PreprocessorResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3680,7 +3680,7 @@ export type PreprocessorResponse = { export type PreprocessorPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -3699,7 +3699,7 @@ export type PreprocessorPostPatchResponse = { export type PreprocessorListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3728,30 +3728,30 @@ export type PreprocessorListResponse = { }>; }; -export type PretaskCreate = { +export type PreTaskCreate = { data: { - type: 'pretask'; + type: 'preTask'; attributes: { - files?: Array; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - priority?: number; - maxAgents?: number; - isMaskImport?: boolean; - crackerBinaryTypeId?: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; }; }; }; -export type PretaskPatch = { +export type PreTaskPatch = { data: { - type: 'pretask'; + type: 'preTask'; attributes: { attackCmd?: string; chunkTime?: number; @@ -3768,10 +3768,10 @@ export type PretaskPatch = { }; }; -export type PretaskResponse = { +export type PreTaskResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3782,7 +3782,7 @@ export type PretaskResponse = { }; data: { id: number; - type: 'pretask'; + type: 'preTask'; attributes: { taskName: string; attackCmd: string; @@ -3821,21 +3821,21 @@ export type PretaskResponse = { filename?: string; size?: number; isSecret?: boolean; - fileType?: number; + fileType?: 0 | 1 | 2 | 100; accessGroupId?: number; lineCount?: number; }; }>; }; -export type PretaskPostPatchResponse = { +export type PreTaskPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; - type: 'pretask'; + type: 'preTask'; attributes: { taskName: string; attackCmd: string; @@ -3854,10 +3854,10 @@ export type PretaskPostPatchResponse = { }; }; -export type PretaskListResponse = { +export type PreTaskListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -3868,7 +3868,7 @@ export type PretaskListResponse = { }; data: Array<{ id: number; - type: 'pretask'; + type: 'preTask'; attributes: { taskName: string; attackCmd: string; @@ -3907,21 +3907,21 @@ export type PretaskListResponse = { filename?: string; size?: number; isSecret?: boolean; - fileType?: number; + fileType?: 0 | 1 | 2 | 100; accessGroupId?: number; lineCount?: number; }; }>; }; -export type PretaskRelationPretaskFiles = { +export type PreTaskRelationPretaskFiles = { data: Array<{ type: 'pretaskFiles'; id: number; }>; }; -export type PretaskRelationPretaskFilesGetResponse = { +export type PreTaskRelationPretaskFilesGetResponse = { data: Array<{ type: 'pretaskFiles'; id: number; @@ -3931,7 +3931,7 @@ export type PretaskRelationPretaskFilesGetResponse = { export type SpeedResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -4009,7 +4009,7 @@ export type SpeedResponse = { export type SpeedListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -4102,8 +4102,8 @@ export type SupertaskCreate = { data: { type: 'supertask'; attributes: { - pretasks?: Array; - supertaskName?: string; + pretasks: Array; + supertaskName: string; }; }; }; @@ -4120,7 +4120,7 @@ export type SupertaskPatch = { export type SupertaskResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -4215,7 +4215,7 @@ export type SupertaskSingleResponse = { export type SupertaskPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -4229,7 +4229,7 @@ export type SupertaskPostPatchResponse = { export type SupertaskListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -4297,28 +4297,28 @@ export type TaskCreate = { data: { type: 'task'; attributes: { - hashlistId?: number; - files?: Array; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - priority?: number; - maxAgents?: number; + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + priority: number; + maxAgents: number; color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }; }; @@ -4345,7 +4345,7 @@ export type TaskPatch = { export type TaskResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -4469,7 +4469,7 @@ export type TaskResponse = { export type TaskPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -4513,7 +4513,7 @@ export type TaskPostPatchResponse = { export type TaskListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -4664,7 +4664,7 @@ export type TaskWrapperPatch = { export type TaskWrapperResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -4877,7 +4877,7 @@ export type TaskWrapperSingleResponse = { export type TaskWrapperPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -4898,7 +4898,7 @@ export type TaskWrapperPostPatchResponse = { export type TaskWrapperListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -5025,9 +5025,9 @@ export type UserCreate = { data: { type: 'user'; attributes: { - name?: string; - email?: string; - globalPermissionGroupId?: number; + name: string; + email: string; + globalPermissionGroupId: number; }; }; }; @@ -5047,7 +5047,7 @@ export type UserPatch = { export type UserResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -5110,7 +5110,7 @@ export type UserResponse = { export type UserPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; @@ -5136,7 +5136,7 @@ export type UserPostPatchResponse = { export type UserListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -5210,28 +5210,28 @@ export type UserRelationAccessGroupsGetResponse = { }>; }; -export type RegVoucherCreate = { +export type VoucherCreate = { data: { - type: 'regVoucher'; + type: 'voucher'; attributes: { - voucher?: string; + voucher: string; }; }; }; -export type RegVoucherPatch = { +export type VoucherPatch = { data: { - type: 'regVoucher'; + type: 'voucher'; attributes: { voucher?: string; }; }; }; -export type RegVoucherResponse = { +export type VoucherResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -5242,7 +5242,7 @@ export type RegVoucherResponse = { }; data: { id: number; - type: 'regVoucher'; + type: 'voucher'; attributes: { voucher: string; time: number; @@ -5256,14 +5256,14 @@ export type RegVoucherResponse = { }>; }; -export type RegVoucherPostPatchResponse = { +export type VoucherPostPatchResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; data: { id: number; - type: 'regVoucher'; + type: 'voucher'; attributes: { voucher: string; time: number; @@ -5271,10 +5271,10 @@ export type RegVoucherPostPatchResponse = { }; }; -export type RegVoucherListResponse = { +export type VoucherListResponse = { jsonapi: { version: string; - ext?: string; + ext?: Array; }; links?: { self: string; @@ -5285,7 +5285,7 @@ export type RegVoucherListResponse = { }; data: Array<{ id: number; - type: 'regVoucher'; + type: 'voucher'; attributes: { voucher: string; time: number; @@ -6485,7 +6485,7 @@ export type GetAgentassignmentsResponses = { /** * successful operation */ - 200: AssignmentListResponse; + 200: AgentAssignmentListResponse; }; export type GetAgentassignmentsResponse = GetAgentassignmentsResponses[keyof GetAgentassignmentsResponses]; @@ -6518,7 +6518,7 @@ export type PatchAgentassignmentsResponses = { }; export type PostAgentassignmentsData = { - body: AssignmentCreate; + body: AgentAssignmentCreate; path?: never; query?: never; url: '/api/v2/ui/agentassignments'; @@ -6541,7 +6541,7 @@ export type PostAgentassignmentsResponses = { /** * successful operation */ - 201: AssignmentPostPatchResponse; + 201: AgentAssignmentPostPatchResponse; }; export type PostAgentassignmentsResponse = PostAgentassignmentsResponses[keyof PostAgentassignmentsResponses]; @@ -6593,7 +6593,7 @@ export type GetAgentassignmentsCountResponses = { /** * successful operation */ - 200: AssignmentListResponse; + 200: AgentAssignmentListResponse; }; export type GetAgentassignmentsCountResponse = GetAgentassignmentsCountResponses[keyof GetAgentassignmentsCountResponses]; @@ -6629,7 +6629,7 @@ export type GetAgentassignmentsByIdByRelationResponses = { /** * successful operation */ - 200: AssignmentRelationTaskGetResponse; + 200: AgentAssignmentRelationTaskGetResponse; }; export type GetAgentassignmentsByIdByRelationResponse = GetAgentassignmentsByIdByRelationResponses[keyof GetAgentassignmentsByIdByRelationResponses]; @@ -6665,13 +6665,13 @@ export type GetAgentassignmentsByIdRelationshipsByRelationResponses = { /** * successful operation */ - 200: AssignmentResponse; + 200: AgentAssignmentResponse; }; export type GetAgentassignmentsByIdRelationshipsByRelationResponse = GetAgentassignmentsByIdRelationshipsByRelationResponses[keyof GetAgentassignmentsByIdRelationshipsByRelationResponses]; export type PatchAgentassignmentsByIdRelationshipsByRelationData = { - body: AssignmentRelationTask; + body: AgentAssignmentRelationTask; path: { id: number; relation: string; @@ -6778,13 +6778,13 @@ export type GetAgentassignmentsByIdResponses = { /** * successful operation */ - 200: AssignmentResponse; + 200: AgentAssignmentResponse; }; export type GetAgentassignmentsByIdResponse = GetAgentassignmentsByIdResponses[keyof GetAgentassignmentsByIdResponses]; export type PatchAgentassignmentsByIdData = { - body: AssignmentPatch; + body: AgentAssignmentPatch; path: { id: number; }; @@ -6813,7 +6813,7 @@ export type PatchAgentassignmentsByIdResponses = { /** * successful operation */ - 200: AssignmentPostPatchResponse; + 200: AgentAssignmentPostPatchResponse; }; export type PatchAgentassignmentsByIdResponse = PatchAgentassignmentsByIdResponses[keyof PatchAgentassignmentsByIdResponses]; @@ -7715,7 +7715,7 @@ export type GetApiTokensResponses = { /** * successful operation */ - 200: JwtApiKeyListResponse; + 200: ApiTokenListResponse; }; export type GetApiTokensResponse = GetApiTokensResponses[keyof GetApiTokensResponses]; @@ -7748,7 +7748,7 @@ export type PatchApiTokensResponses = { }; export type PostApiTokensData = { - body: JwtApiKeyCreate; + body: ApiTokenCreate; path?: never; query?: never; url: '/api/v2/ui/apiTokens'; @@ -7771,7 +7771,7 @@ export type PostApiTokensResponses = { /** * successful operation */ - 201: JwtApiKeyPostPatchResponse; + 201: ApiTokenPostPatchResponse; }; export type PostApiTokensResponse = PostApiTokensResponses[keyof PostApiTokensResponses]; @@ -7823,7 +7823,7 @@ export type GetApiTokensCountResponses = { /** * successful operation */ - 200: JwtApiKeyListResponse; + 200: ApiTokenListResponse; }; export type GetApiTokensCountResponse = GetApiTokensCountResponses[keyof GetApiTokensCountResponses]; @@ -7859,7 +7859,7 @@ export type GetApiTokensByIdByRelationResponses = { /** * successful operation */ - 200: JwtApiKeyRelationUserGetResponse; + 200: ApiTokenRelationUserGetResponse; }; export type GetApiTokensByIdByRelationResponse = GetApiTokensByIdByRelationResponses[keyof GetApiTokensByIdByRelationResponses]; @@ -7895,13 +7895,13 @@ export type GetApiTokensByIdRelationshipsByRelationResponses = { /** * successful operation */ - 200: JwtApiKeyResponse; + 200: ApiTokenResponse; }; export type GetApiTokensByIdRelationshipsByRelationResponse = GetApiTokensByIdRelationshipsByRelationResponses[keyof GetApiTokensByIdRelationshipsByRelationResponses]; export type PatchApiTokensByIdRelationshipsByRelationData = { - body: JwtApiKeyRelationUser; + body: ApiTokenRelationUser; path: { id: number; relation: string; @@ -8008,13 +8008,13 @@ export type GetApiTokensByIdResponses = { /** * successful operation */ - 200: JwtApiKeyResponse; + 200: ApiTokenResponse; }; export type GetApiTokensByIdResponse = GetApiTokensByIdResponses[keyof GetApiTokensByIdResponses]; export type PatchApiTokensByIdData = { - body: JwtApiKeyPatch; + body: ApiTokenPatch; path: { id: number; }; @@ -8043,7 +8043,7 @@ export type PatchApiTokensByIdResponses = { /** * successful operation */ - 200: JwtApiKeyPostPatchResponse; + 200: ApiTokenPostPatchResponse; }; export type PatchApiTokensByIdResponse = PatchApiTokensByIdResponses[keyof PatchApiTokensByIdResponses]; @@ -10201,7 +10201,7 @@ export type GetGlobalpermissiongroupsResponses = { /** * successful operation */ - 200: RightGroupListResponse; + 200: GlobalPermissionGroupListResponse; }; export type GetGlobalpermissiongroupsResponse = GetGlobalpermissiongroupsResponses[keyof GetGlobalpermissiongroupsResponses]; @@ -10234,7 +10234,7 @@ export type PatchGlobalpermissiongroupsResponses = { }; export type PostGlobalpermissiongroupsData = { - body: RightGroupCreate; + body: GlobalPermissionGroupCreate; path?: never; query?: never; url: '/api/v2/ui/globalpermissiongroups'; @@ -10257,7 +10257,7 @@ export type PostGlobalpermissiongroupsResponses = { /** * successful operation */ - 201: RightGroupPostPatchResponse; + 201: GlobalPermissionGroupPostPatchResponse; }; export type PostGlobalpermissiongroupsResponse = PostGlobalpermissiongroupsResponses[keyof PostGlobalpermissiongroupsResponses]; @@ -10309,7 +10309,7 @@ export type GetGlobalpermissiongroupsCountResponses = { /** * successful operation */ - 200: RightGroupListResponse; + 200: GlobalPermissionGroupListResponse; }; export type GetGlobalpermissiongroupsCountResponse = GetGlobalpermissiongroupsCountResponses[keyof GetGlobalpermissiongroupsCountResponses]; @@ -10345,13 +10345,13 @@ export type GetGlobalpermissiongroupsByIdByRelationResponses = { /** * successful operation */ - 200: RightGroupRelationUserMembersGetResponse; + 200: GlobalPermissionGroupRelationUserMembersGetResponse; }; export type GetGlobalpermissiongroupsByIdByRelationResponse = GetGlobalpermissiongroupsByIdByRelationResponses[keyof GetGlobalpermissiongroupsByIdByRelationResponses]; export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData = { - body: RightGroupRelationUserMembers; + body: GlobalPermissionGroupRelationUserMembers; path: { id: number; relation: string; @@ -10417,13 +10417,13 @@ export type GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses = { /** * successful operation */ - 200: RightGroupResponse; + 200: GlobalPermissionGroupResponse; }; export type GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse = GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationData = { - body: RightGroupRelationUserMembers; + body: GlobalPermissionGroupRelationUserMembers; path: { id: number; relation: string; @@ -10568,13 +10568,13 @@ export type GetGlobalpermissiongroupsByIdResponses = { /** * successful operation */ - 200: RightGroupResponse; + 200: GlobalPermissionGroupResponse; }; export type GetGlobalpermissiongroupsByIdResponse = GetGlobalpermissiongroupsByIdResponses[keyof GetGlobalpermissiongroupsByIdResponses]; export type PatchGlobalpermissiongroupsByIdData = { - body: RightGroupPatch; + body: GlobalPermissionGroupPatch; path: { id: number; }; @@ -10603,7 +10603,7 @@ export type PatchGlobalpermissiongroupsByIdResponses = { /** * successful operation */ - 200: RightGroupPostPatchResponse; + 200: GlobalPermissionGroupPostPatchResponse; }; export type PatchGlobalpermissiongroupsByIdResponse = PatchGlobalpermissiongroupsByIdResponses[keyof PatchGlobalpermissiongroupsByIdResponses]; @@ -13452,7 +13452,7 @@ export type GetPretasksResponses = { /** * successful operation */ - 200: PretaskListResponse; + 200: PreTaskListResponse; }; export type GetPretasksResponse = GetPretasksResponses[keyof GetPretasksResponses]; @@ -13485,7 +13485,7 @@ export type PatchPretasksResponses = { }; export type PostPretasksData = { - body: PretaskCreate; + body: PreTaskCreate; path?: never; query?: never; url: '/api/v2/ui/pretasks'; @@ -13508,7 +13508,7 @@ export type PostPretasksResponses = { /** * successful operation */ - 201: PretaskPostPatchResponse; + 201: PreTaskPostPatchResponse; }; export type PostPretasksResponse = PostPretasksResponses[keyof PostPretasksResponses]; @@ -13560,7 +13560,7 @@ export type GetPretasksCountResponses = { /** * successful operation */ - 200: PretaskListResponse; + 200: PreTaskListResponse; }; export type GetPretasksCountResponse = GetPretasksCountResponses[keyof GetPretasksCountResponses]; @@ -13596,13 +13596,13 @@ export type GetPretasksByIdByRelationResponses = { /** * successful operation */ - 200: PretaskRelationPretaskFilesGetResponse; + 200: PreTaskRelationPretaskFilesGetResponse; }; export type GetPretasksByIdByRelationResponse = GetPretasksByIdByRelationResponses[keyof GetPretasksByIdByRelationResponses]; export type DeletePretasksByIdRelationshipsByRelationData = { - body: PretaskRelationPretaskFiles; + body: PreTaskRelationPretaskFiles; path: { id: number; relation: string; @@ -13668,13 +13668,13 @@ export type GetPretasksByIdRelationshipsByRelationResponses = { /** * successful operation */ - 200: PretaskResponse; + 200: PreTaskResponse; }; export type GetPretasksByIdRelationshipsByRelationResponse = GetPretasksByIdRelationshipsByRelationResponses[keyof GetPretasksByIdRelationshipsByRelationResponses]; export type PatchPretasksByIdRelationshipsByRelationData = { - body: PretaskRelationPretaskFiles; + body: PreTaskRelationPretaskFiles; path: { id: number; relation: string; @@ -13819,13 +13819,13 @@ export type GetPretasksByIdResponses = { /** * successful operation */ - 200: PretaskResponse; + 200: PreTaskResponse; }; export type GetPretasksByIdResponse = GetPretasksByIdResponses[keyof GetPretasksByIdResponses]; export type PatchPretasksByIdData = { - body: PretaskPatch; + body: PreTaskPatch; path: { id: number; }; @@ -13854,7 +13854,7 @@ export type PatchPretasksByIdResponses = { /** * successful operation */ - 200: PretaskPostPatchResponse; + 200: PreTaskPostPatchResponse; }; export type PatchPretasksByIdResponse = PatchPretasksByIdResponses[keyof PatchPretasksByIdResponses]; @@ -16080,7 +16080,7 @@ export type GetVouchersResponses = { /** * successful operation */ - 200: RegVoucherListResponse; + 200: VoucherListResponse; }; export type GetVouchersResponse = GetVouchersResponses[keyof GetVouchersResponses]; @@ -16113,7 +16113,7 @@ export type PatchVouchersResponses = { }; export type PostVouchersData = { - body: RegVoucherCreate; + body: VoucherCreate; path?: never; query?: never; url: '/api/v2/ui/vouchers'; @@ -16136,7 +16136,7 @@ export type PostVouchersResponses = { /** * successful operation */ - 201: RegVoucherPostPatchResponse; + 201: VoucherPostPatchResponse; }; export type PostVouchersResponse = PostVouchersResponses[keyof PostVouchersResponses]; @@ -16188,7 +16188,7 @@ export type GetVouchersCountResponses = { /** * successful operation */ - 200: RegVoucherListResponse; + 200: VoucherListResponse; }; export type GetVouchersCountResponse = GetVouchersCountResponses[keyof GetVouchersCountResponses]; @@ -16265,13 +16265,13 @@ export type GetVouchersByIdResponses = { /** * successful operation */ - 200: RegVoucherResponse; + 200: VoucherResponse; }; export type GetVouchersByIdResponse = GetVouchersByIdResponses[keyof GetVouchersByIdResponses]; export type PatchVouchersByIdData = { - body: RegVoucherPatch; + body: VoucherPatch; path: { id: number; }; @@ -16300,7 +16300,7 @@ export type PatchVouchersByIdResponses = { /** * successful operation */ - 200: RegVoucherPostPatchResponse; + 200: VoucherPostPatchResponse; }; export type PatchVouchersByIdResponse = PatchVouchersByIdResponses[keyof PatchVouchersByIdResponses]; diff --git a/src/generated/api/zod.gen.ts b/src/generated/api/zod.gen.ts index 34641af5e..c3ba2cf47 100644 --- a/src/generated/api/zod.gen.ts +++ b/src/generated/api/zod.gen.ts @@ -23,7 +23,7 @@ export const zAccessGroupCreate = z.object({ data: z.object({ type: z.literal('accessGroup'), attributes: z.object({ - groupName: z.string().optional() + groupName: z.string() }) }) }); @@ -40,7 +40,7 @@ export const zAccessGroupPatch = z.object({ export const zAccessGroupResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), @@ -85,7 +85,11 @@ export const zAccessGroupResponse = z.object({ agentId: z.int().optional(), agentName: z.string().optional(), uid: z.string().optional(), - os: z.int().optional(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]).optional(), devices: z.string().optional(), cmdPars: z.string().optional(), ignoreErrors: z.union([ @@ -109,7 +113,7 @@ export const zAccessGroupResponse = z.object({ export const zAccessGroupPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -123,7 +127,7 @@ export const zAccessGroupPostPatchResponse = z.object({ export const zAccessGroupListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), @@ -168,7 +172,11 @@ export const zAccessGroupListResponse = z.object({ agentId: z.int().optional(), agentName: z.string().optional(), uid: z.string().optional(), - os: z.int().optional(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]).optional(), devices: z.string().optional(), cmdPars: z.string().optional(), ignoreErrors: z.union([ @@ -217,7 +225,11 @@ export const zAgentPatch = z.object({ ]).optional(), isActive: z.boolean().optional(), isTrusted: z.boolean().optional(), - os: z.int().optional(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]).optional(), uid: z.string().optional(), userId: z.int().optional() }) @@ -227,7 +239,7 @@ export const zAgentPatch = z.object({ export const zAgentResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agents?page[size]=25'), @@ -242,7 +254,11 @@ export const zAgentResponse = z.object({ attributes: z.object({ agentName: z.string(), uid: z.string(), - os: z.int(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), devices: z.string(), cmdPars: z.string(), ignoreErrors: z.union([ @@ -348,7 +364,7 @@ export const zAgentResponse = z.object({ export const zAgentPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -356,7 +372,11 @@ export const zAgentPostPatchResponse = z.object({ attributes: z.object({ agentName: z.string(), uid: z.string(), - os: z.int(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), devices: z.string(), cmdPars: z.string(), ignoreErrors: z.union([ @@ -380,7 +400,7 @@ export const zAgentPostPatchResponse = z.object({ export const zAgentListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agents?page[size]=25'), @@ -395,7 +415,11 @@ export const zAgentListResponse = z.object({ attributes: z.object({ agentName: z.string(), uid: z.string(), - os: z.int(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), devices: z.string(), cmdPars: z.string(), ignoreErrors: z.union([ @@ -512,30 +536,30 @@ export const zAgentRelationAssignmentsGetResponse = z.object({ })) }); -export const zAssignmentCreate = z.object({ +export const zAgentAssignmentCreate = z.object({ data: z.object({ - type: z.literal('assignment'), + type: z.literal('agentAssignment'), attributes: z.object({ - taskId: z.int().optional(), - agentId: z.int().optional(), + taskId: z.int(), + agentId: z.int(), benchmark: z.string().optional() }) }) }); -export const zAssignmentPatch = z.object({ +export const zAgentAssignmentPatch = z.object({ data: z.object({ - type: z.literal('assignment'), + type: z.literal('agentAssignment'), attributes: z.object({ benchmark: z.string().optional() }) }) }); -export const zAssignmentResponse = z.object({ +export const zAgentAssignmentResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), @@ -546,7 +570,7 @@ export const zAssignmentResponse = z.object({ }).optional(), data: z.object({ id: z.int(), - type: z.literal('assignment'), + type: z.literal('agentAssignment'), attributes: z.object({ taskId: z.int(), agentId: z.int(), @@ -609,14 +633,14 @@ export const zAssignmentResponse = z.object({ })).optional() }); -export const zAssignmentPostPatchResponse = z.object({ +export const zAgentAssignmentPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), - type: z.literal('assignment'), + type: z.literal('agentAssignment'), attributes: z.object({ taskId: z.int(), agentId: z.int(), @@ -625,10 +649,10 @@ export const zAssignmentPostPatchResponse = z.object({ }) }); -export const zAssignmentListResponse = z.object({ +export const zAgentAssignmentListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), @@ -639,7 +663,7 @@ export const zAssignmentListResponse = z.object({ }).optional(), data: z.array(z.object({ id: z.int(), - type: z.literal('assignment'), + type: z.literal('agentAssignment'), attributes: z.object({ taskId: z.int(), agentId: z.int(), @@ -702,14 +726,14 @@ export const zAssignmentListResponse = z.object({ })).optional() }); -export const zAssignmentRelationTask = z.object({ +export const zAgentAssignmentRelationTask = z.object({ data: z.object({ type: z.literal('task'), id: z.int().default(1) }) }); -export const zAssignmentRelationTaskGetResponse = z.object({ +export const zAgentAssignmentRelationTaskGetResponse = z.object({ data: z.object({ type: z.literal('task'), id: z.int().default(1) @@ -720,11 +744,11 @@ export const zAgentBinaryCreate = z.object({ data: z.object({ type: z.literal('agentBinary'), attributes: z.object({ - binaryType: z.string().optional(), - version: z.string().optional(), - operatingSystems: z.string().optional(), - filename: z.string().optional(), - updateTrack: z.string().optional() + binaryType: z.string(), + version: z.string(), + operatingSystems: z.string(), + filename: z.string(), + updateTrack: z.string() }) }) }); @@ -745,7 +769,7 @@ export const zAgentBinaryPatch = z.object({ export const zAgentBinaryResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), @@ -773,7 +797,7 @@ export const zAgentBinaryResponse = z.object({ export const zAgentBinaryPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -792,7 +816,7 @@ export const zAgentBinaryPostPatchResponse = z.object({ export const zAgentBinaryListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), @@ -820,7 +844,7 @@ export const zAgentBinaryListResponse = z.object({ export const zAgentErrorResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), @@ -889,7 +913,7 @@ export const zAgentErrorResponse = z.object({ export const zAgentErrorListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), @@ -972,7 +996,7 @@ export const zAgentErrorRelationTaskGetResponse = z.object({ export const zAgentStatResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), @@ -986,7 +1010,11 @@ export const zAgentStatResponse = z.object({ type: z.literal('agentStat'), attributes: z.object({ agentId: z.int(), - statType: z.int(), + statType: z.union([ + z.literal(1), + z.literal(2), + z.literal(3) + ]), time: z.number(), value: z.array(z.int()) }) @@ -998,7 +1026,7 @@ export const zAgentStatResponse = z.object({ export const zAgentStatListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), @@ -1012,7 +1040,11 @@ export const zAgentStatListResponse = z.object({ type: z.literal('agentStat'), attributes: z.object({ agentId: z.int(), - statType: z.int(), + statType: z.union([ + z.literal(1), + z.literal(2), + z.literal(3) + ]), time: z.number(), value: z.array(z.int()) }) @@ -1021,32 +1053,32 @@ export const zAgentStatListResponse = z.object({ included: z.array(z.record(z.string(), z.unknown())).optional() }); -export const zJwtApiKeyCreate = z.object({ +export const zApiTokenCreate = z.object({ data: z.object({ - type: z.literal('jwtApiKey'), + type: z.literal('apiToken'), attributes: z.object({ - scopes: z.array(z.int()).optional(), - startValid: z.number().optional(), - endValid: z.number().optional(), - userId: z.int().optional(), - isRevoked: z.boolean().optional() + scopes: z.array(z.int()), + startValid: z.number(), + endValid: z.number(), + userId: z.int(), + isRevoked: z.boolean() }) }) }); -export const zJwtApiKeyPatch = z.object({ +export const zApiTokenPatch = z.object({ data: z.object({ - type: z.literal('jwtApiKey'), + type: z.literal('apiToken'), attributes: z.object({ isRevoked: z.boolean().optional() }) }) }); -export const zJwtApiKeyResponse = z.object({ +export const zApiTokenResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), @@ -1057,7 +1089,7 @@ export const zJwtApiKeyResponse = z.object({ }).optional(), data: z.object({ id: z.int(), - type: z.literal('jwtApiKey'), + type: z.literal('apiToken'), attributes: z.object({ startValid: z.number(), endValid: z.number(), @@ -1082,7 +1114,7 @@ export const zJwtApiKeyResponse = z.object({ id: z.int().optional(), type: z.literal('user').optional(), attributes: z.object({ - userId: z.int().optional(), + id: z.int().optional(), name: z.string().optional(), email: z.string().optional(), passwordHash: z.string().optional(), @@ -1102,14 +1134,14 @@ export const zJwtApiKeyResponse = z.object({ })).optional() }); -export const zJwtApiKeyPostPatchResponse = z.object({ +export const zApiTokenPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), - type: z.literal('jwtApiKey'), + type: z.literal('apiToken'), attributes: z.object({ startValid: z.number(), endValid: z.number(), @@ -1120,10 +1152,10 @@ export const zJwtApiKeyPostPatchResponse = z.object({ }) }); -export const zJwtApiKeyListResponse = z.object({ +export const zApiTokenListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), @@ -1134,7 +1166,7 @@ export const zJwtApiKeyListResponse = z.object({ }).optional(), data: z.array(z.object({ id: z.int(), - type: z.literal('jwtApiKey'), + type: z.literal('apiToken'), attributes: z.object({ startValid: z.number(), endValid: z.number(), @@ -1159,7 +1191,7 @@ export const zJwtApiKeyListResponse = z.object({ id: z.int().optional(), type: z.literal('user').optional(), attributes: z.object({ - userId: z.int().optional(), + id: z.int().optional(), name: z.string().optional(), email: z.string().optional(), passwordHash: z.string().optional(), @@ -1179,14 +1211,14 @@ export const zJwtApiKeyListResponse = z.object({ })).optional() }); -export const zJwtApiKeyRelationUser = z.object({ +export const zApiTokenRelationUser = z.object({ data: z.object({ type: z.literal('user'), id: z.int().default(1) }) }); -export const zJwtApiKeyRelationUserGetResponse = z.object({ +export const zApiTokenRelationUserGetResponse = z.object({ data: z.object({ type: z.literal('user'), id: z.int().default(1) @@ -1196,7 +1228,7 @@ export const zJwtApiKeyRelationUserGetResponse = z.object({ export const zChunkResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/chunks?page[size]=25'), @@ -1217,7 +1249,19 @@ export const zChunkResponse = z.object({ solveTime: z.number(), checkpoint: z.number(), progress: z.int(), - state: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), cracked: z.int(), speed: z.number() }) @@ -1281,7 +1325,7 @@ export const zChunkResponse = z.object({ export const zChunkListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/chunks?page[size]=25'), @@ -1302,7 +1346,19 @@ export const zChunkListResponse = z.object({ solveTime: z.number(), checkpoint: z.number(), progress: z.int(), - state: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), cracked: z.int(), speed: z.number() }) @@ -1390,7 +1446,7 @@ export const zConfigPatch = z.object({ export const zConfigResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/configs?page[size]=25'), @@ -1433,7 +1489,7 @@ export const zConfigResponse = z.object({ export const zConfigPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -1449,7 +1505,7 @@ export const zConfigPostPatchResponse = z.object({ export const zConfigListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/configs?page[size]=25'), @@ -1506,7 +1562,7 @@ export const zConfigRelationConfigSectionGetResponse = z.object({ export const zConfigSectionResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/configsections?page[size]=25'), @@ -1529,7 +1585,7 @@ export const zConfigSectionResponse = z.object({ export const zConfigSectionListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/configsections?page[size]=25'), @@ -1553,10 +1609,10 @@ export const zCrackerBinaryCreate = z.object({ data: z.object({ type: z.literal('crackerBinary'), attributes: z.object({ - crackerBinaryTypeId: z.int().optional(), - version: z.string().optional(), - downloadUrl: z.string().optional(), - binaryName: z.string().optional() + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() }) }) }); @@ -1575,7 +1631,7 @@ export const zCrackerBinaryPatch = z.object({ export const zCrackerBinaryResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/crackers?page[size]=25'), @@ -1653,7 +1709,7 @@ export const zCrackerBinaryResponse = z.object({ export const zCrackerBinaryPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -1670,7 +1726,7 @@ export const zCrackerBinaryPostPatchResponse = z.object({ export const zCrackerBinaryListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/crackers?page[size]=25'), @@ -1763,7 +1819,7 @@ export const zCrackerBinaryTypeCreate = z.object({ data: z.object({ type: z.literal('crackerBinaryType'), attributes: z.object({ - typeName: z.string().optional() + typeName: z.string() }) }) }); @@ -1781,7 +1837,7 @@ export const zCrackerBinaryTypePatch = z.object({ export const zCrackerBinaryTypeResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), @@ -1857,7 +1913,7 @@ export const zCrackerBinaryTypeResponse = z.object({ export const zCrackerBinaryTypePostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -1872,7 +1928,7 @@ export const zCrackerBinaryTypePostPatchResponse = z.object({ export const zCrackerBinaryTypeListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), @@ -1963,12 +2019,17 @@ export const zFileCreate = z.object({ data: z.object({ type: z.literal('file'), attributes: z.object({ - sourceType: z.string().optional(), - sourceData: z.string().optional(), - filename: z.string().optional(), - isSecret: z.boolean().optional(), - fileType: z.int().optional(), - accessGroupId: z.int().optional() + sourceType: z.string(), + sourceData: z.string(), + filename: z.string(), + isSecret: z.boolean(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]), + accessGroupId: z.int() }) }) }); @@ -1978,7 +2039,12 @@ export const zFilePatch = z.object({ type: z.literal('file'), attributes: z.object({ accessGroupId: z.int().optional(), - fileType: z.int().optional(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]).optional(), filename: z.string().optional(), isSecret: z.boolean().optional() }) @@ -1988,7 +2054,7 @@ export const zFilePatch = z.object({ export const zFileResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/files?page[size]=25'), @@ -2004,7 +2070,12 @@ export const zFileResponse = z.object({ filename: z.string(), size: z.number(), isSecret: z.boolean(), - fileType: z.int(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]), accessGroupId: z.int(), lineCount: z.number() }) @@ -2039,7 +2110,12 @@ export const zFileSingleResponse = z.object({ filename: z.string(), size: z.number(), isSecret: z.boolean(), - fileType: z.int(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]), accessGroupId: z.int(), lineCount: z.number() }) @@ -2069,7 +2145,7 @@ export const zFileSingleResponse = z.object({ export const zFilePostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -2078,7 +2154,12 @@ export const zFilePostPatchResponse = z.object({ filename: z.string(), size: z.number(), isSecret: z.boolean(), - fileType: z.int(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]), accessGroupId: z.int(), lineCount: z.number() }) @@ -2088,7 +2169,7 @@ export const zFilePostPatchResponse = z.object({ export const zFileListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/files?page[size]=25'), @@ -2104,7 +2185,12 @@ export const zFileListResponse = z.object({ filename: z.string(), size: z.number(), isSecret: z.boolean(), - fileType: z.int(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]), accessGroupId: z.int(), lineCount: z.number() }) @@ -2145,30 +2231,30 @@ export const zFileRelationAccessGroupGetResponse = z.object({ }) }); -export const zRightGroupCreate = z.object({ +export const zGlobalPermissionGroupCreate = z.object({ data: z.object({ - type: z.literal('rightGroup'), + type: z.literal('globalPermissionGroup'), attributes: z.object({ - name: z.string().optional(), - permissions: z.record(z.string(), z.unknown()).optional() + name: z.string(), + permissions: z.record(z.string(), z.boolean()).optional() }) }) }); -export const zRightGroupPatch = z.object({ +export const zGlobalPermissionGroupPatch = z.object({ data: z.object({ - type: z.literal('rightGroup'), + type: z.literal('globalPermissionGroup'), attributes: z.object({ name: z.string().optional(), - permissions: z.record(z.string(), z.unknown()).optional() + permissions: z.record(z.string(), z.boolean()).optional() }) }) }); -export const zRightGroupResponse = z.object({ +export const zGlobalPermissionGroupResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), @@ -2179,10 +2265,10 @@ export const zRightGroupResponse = z.object({ }).optional(), data: z.object({ id: z.int(), - type: z.literal('rightGroup'), + type: z.literal('globalPermissionGroup'), attributes: z.object({ name: z.string(), - permissions: z.record(z.string(), z.unknown()) + permissions: z.record(z.string(), z.boolean()) }) }), relationships: z.object({ @@ -2201,7 +2287,7 @@ export const zRightGroupResponse = z.object({ id: z.int().optional(), type: z.literal('userMembers').optional(), attributes: z.object({ - userId: z.int().optional(), + id: z.int().optional(), name: z.string().optional(), email: z.string().optional(), passwordHash: z.string().optional(), @@ -2221,25 +2307,25 @@ export const zRightGroupResponse = z.object({ })).optional() }); -export const zRightGroupPostPatchResponse = z.object({ +export const zGlobalPermissionGroupPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), - type: z.literal('rightGroup'), + type: z.literal('globalPermissionGroup'), attributes: z.object({ name: z.string(), - permissions: z.record(z.string(), z.unknown()) + permissions: z.record(z.string(), z.boolean()) }) }) }); -export const zRightGroupListResponse = z.object({ +export const zGlobalPermissionGroupListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), @@ -2250,10 +2336,10 @@ export const zRightGroupListResponse = z.object({ }).optional(), data: z.array(z.object({ id: z.int(), - type: z.literal('rightGroup'), + type: z.literal('globalPermissionGroup'), attributes: z.object({ name: z.string(), - permissions: z.record(z.string(), z.unknown()) + permissions: z.record(z.string(), z.boolean()) }) })), relationships: z.object({ @@ -2272,7 +2358,7 @@ export const zRightGroupListResponse = z.object({ id: z.int().optional(), type: z.literal('userMembers').optional(), attributes: z.object({ - userId: z.int().optional(), + id: z.int().optional(), name: z.string().optional(), email: z.string().optional(), passwordHash: z.string().optional(), @@ -2292,14 +2378,14 @@ export const zRightGroupListResponse = z.object({ })).optional() }); -export const zRightGroupRelationUserMembers = z.object({ +export const zGlobalPermissionGroupRelationUserMembers = z.object({ data: z.array(z.object({ type: z.literal('userMembers'), id: z.int().default(1) })) }); -export const zRightGroupRelationUserMembersGetResponse = z.object({ +export const zGlobalPermissionGroupRelationUserMembersGetResponse = z.object({ data: z.array(z.object({ type: z.literal('userMembers'), id: z.int().default(1) @@ -2309,7 +2395,7 @@ export const zRightGroupRelationUserMembersGetResponse = z.object({ export const zHashResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/hashes?page[size]=25'), @@ -2388,7 +2474,7 @@ export const zHashResponse = z.object({ export const zHashListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/hashes?page[size]=25'), @@ -2483,26 +2569,26 @@ export const zHashlistCreate = z.object({ type: z.literal('hashlist'), attributes: z.object({ hashlistSeperator: z.string().optional(), - sourceType: z.string().optional(), - sourceData: z.string().optional(), - name: z.string().optional(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), format: z.union([ z.literal(0), z.literal(1), z.literal(2), z.literal(3) - ]).optional(), - hashTypeId: z.int().optional(), - hashCount: z.int().optional(), + ]), + hashTypeId: z.int(), + hashCount: z.int(), separator: z.string().optional(), - isSecret: z.boolean().optional(), - isHexSalt: z.boolean().optional(), - isSalted: z.boolean().optional(), - accessGroupId: z.int().optional(), - notes: z.string().optional(), - useBrain: z.boolean().optional(), - brainFeatures: z.int().optional(), - isArchived: z.boolean().optional() + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() }) }) }); @@ -2523,7 +2609,7 @@ export const zHashlistPatch = z.object({ export const zHashlistResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), @@ -2758,7 +2844,7 @@ export const zHashlistSingleResponse = z.object({ export const zHashlistPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -2790,7 +2876,7 @@ export const zHashlistPostPatchResponse = z.object({ export const zHashlistListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), @@ -2928,10 +3014,10 @@ export const zHashTypeCreate = z.object({ data: z.object({ type: z.literal('hashType'), attributes: z.object({ - hashTypeId: z.int().optional(), - description: z.string().optional(), - isSalted: z.boolean().optional(), - isSlowHash: z.boolean().optional() + hashTypeId: z.int(), + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() }) }) }); @@ -2950,7 +3036,7 @@ export const zHashTypePatch = z.object({ export const zHashTypeResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), @@ -2975,7 +3061,7 @@ export const zHashTypeResponse = z.object({ export const zHashTypePostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -2991,7 +3077,7 @@ export const zHashTypePostPatchResponse = z.object({ export const zHashTypeListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), @@ -3016,7 +3102,7 @@ export const zHashTypeListResponse = z.object({ export const zHealthCheckAgentResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), @@ -3031,7 +3117,11 @@ export const zHealthCheckAgentResponse = z.object({ attributes: z.object({ healthCheckId: z.int(), agentId: z.int(), - status: z.int(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]), cracked: z.int(), numGpus: z.int(), start: z.number(), @@ -3067,8 +3157,12 @@ export const zHealthCheckAgentResponse = z.object({ attributes: z.object({ healthCheckId: z.int().optional(), time: z.number().optional(), - status: z.int().optional(), - checkType: z.int().optional(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]).optional(), + checkType: z.union([z.literal(0), z.literal(3200)]).optional(), hashtypeId: z.int().optional(), crackerBinaryId: z.int().optional(), expectedCracks: z.int().optional(), @@ -3080,7 +3174,7 @@ export const zHealthCheckAgentResponse = z.object({ export const zHealthCheckAgentListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), @@ -3095,7 +3189,11 @@ export const zHealthCheckAgentListResponse = z.object({ attributes: z.object({ healthCheckId: z.int(), agentId: z.int(), - status: z.int(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]), cracked: z.int(), numGpus: z.int(), start: z.number(), @@ -3131,8 +3229,12 @@ export const zHealthCheckAgentListResponse = z.object({ attributes: z.object({ healthCheckId: z.int().optional(), time: z.number().optional(), - status: z.int().optional(), - checkType: z.int().optional(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]).optional(), + checkType: z.union([z.literal(0), z.literal(3200)]).optional(), hashtypeId: z.int().optional(), crackerBinaryId: z.int().optional(), expectedCracks: z.int().optional(), @@ -3159,9 +3261,9 @@ export const zHealthCheckCreate = z.object({ data: z.object({ type: z.literal('healthCheck'), attributes: z.object({ - checkType: z.int().optional(), - hashtypeId: z.int().optional(), - crackerBinaryId: z.int().optional() + checkType: z.union([z.literal(0), z.literal(3200)]), + hashtypeId: z.int(), + crackerBinaryId: z.int() }) }) }); @@ -3170,7 +3272,7 @@ export const zHealthCheckPatch = z.object({ data: z.object({ type: z.literal('healthCheck'), attributes: z.object({ - checkType: z.int().optional() + checkType: z.union([z.literal(0), z.literal(3200)]).optional() }) }) }); @@ -3178,7 +3280,7 @@ export const zHealthCheckPatch = z.object({ export const zHealthCheckResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), @@ -3192,8 +3294,12 @@ export const zHealthCheckResponse = z.object({ type: z.literal('healthCheck'), attributes: z.object({ time: z.number(), - status: z.int(), - checkType: z.int(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]), + checkType: z.union([z.literal(0), z.literal(3200)]), hashtypeId: z.int(), crackerBinaryId: z.int(), expectedCracks: z.int(), @@ -3239,7 +3345,11 @@ export const zHealthCheckResponse = z.object({ healthCheckAgentId: z.int().optional(), healthCheckId: z.int().optional(), agentId: z.int().optional(), - status: z.int().optional(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]).optional(), cracked: z.int().optional(), numGpus: z.int().optional(), start: z.number().optional(), @@ -3252,15 +3362,19 @@ export const zHealthCheckResponse = z.object({ export const zHealthCheckPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), type: z.literal('healthCheck'), attributes: z.object({ time: z.number(), - status: z.int(), - checkType: z.int(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]), + checkType: z.union([z.literal(0), z.literal(3200)]), hashtypeId: z.int(), crackerBinaryId: z.int(), expectedCracks: z.int(), @@ -3272,7 +3386,7 @@ export const zHealthCheckPostPatchResponse = z.object({ export const zHealthCheckListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), @@ -3286,8 +3400,12 @@ export const zHealthCheckListResponse = z.object({ type: z.literal('healthCheck'), attributes: z.object({ time: z.number(), - status: z.int(), - checkType: z.int(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]), + checkType: z.union([z.literal(0), z.literal(3200)]), hashtypeId: z.int(), crackerBinaryId: z.int(), expectedCracks: z.int(), @@ -3333,7 +3451,11 @@ export const zHealthCheckListResponse = z.object({ healthCheckAgentId: z.int().optional(), healthCheckId: z.int().optional(), agentId: z.int().optional(), - status: z.int().optional(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]).optional(), cracked: z.int().optional(), numGpus: z.int().optional(), start: z.number().optional(), @@ -3374,7 +3496,7 @@ export const zLogEntryPatch = z.object({ export const zLogEntryResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/logentries?page[size]=25'), @@ -3387,9 +3509,14 @@ export const zLogEntryResponse = z.object({ id: z.int(), type: z.literal('logEntry'), attributes: z.object({ - issuer: z.string(), + issuer: z.enum(['API', 'User']), issuerId: z.string(), - level: z.string(), + level: z.enum([ + 'warning', + 'error', + 'fatal error', + 'information' + ]), message: z.string(), time: z.number() }) @@ -3401,15 +3528,20 @@ export const zLogEntryResponse = z.object({ export const zLogEntryPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), type: z.literal('logEntry'), attributes: z.object({ - issuer: z.string(), + issuer: z.enum(['API', 'User']), issuerId: z.string(), - level: z.string(), + level: z.enum([ + 'warning', + 'error', + 'fatal error', + 'information' + ]), message: z.string(), time: z.number() }) @@ -3419,7 +3551,7 @@ export const zLogEntryPostPatchResponse = z.object({ export const zLogEntryListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/logentries?page[size]=25'), @@ -3432,9 +3564,14 @@ export const zLogEntryListResponse = z.object({ id: z.int(), type: z.literal('logEntry'), attributes: z.object({ - issuer: z.string(), + issuer: z.enum(['API', 'User']), issuerId: z.string(), - level: z.string(), + level: z.enum([ + 'warning', + 'error', + 'fatal error', + 'information' + ]), message: z.string(), time: z.number() }) @@ -3447,10 +3584,32 @@ export const zNotificationSettingCreate = z.object({ data: z.object({ type: z.literal('notificationSetting'), attributes: z.object({ - actionFilter: z.string().optional(), - action: z.string().optional(), - notification: z.string().optional(), - receiver: z.string().optional() + actionFilter: z.string(), + action: z.enum([ + 'createNotification', + 'setActive', + 'deleteNotification' + ]), + notification: z.enum([ + 'taskComplete', + 'agentError', + 'ownAgentError', + 'logError', + 'newTask', + 'newHashlist', + 'hashlistAllCracked', + 'hashlistCrackedHash', + 'userCreated', + 'userDeleted', + 'userLoginFailed', + 'logWarn', + 'logFatal', + 'newAgent', + 'deleteTask', + 'deleteHashlist', + 'deleteAgent' + ]), + receiver: z.string() }) }) }); @@ -3459,9 +3618,31 @@ export const zNotificationSettingPatch = z.object({ data: z.object({ type: z.literal('notificationSetting'), attributes: z.object({ - action: z.string().optional(), + action: z.enum([ + 'createNotification', + 'setActive', + 'deleteNotification' + ]).optional(), isActive: z.boolean().optional(), - notification: z.string().optional(), + notification: z.enum([ + 'taskComplete', + 'agentError', + 'ownAgentError', + 'logError', + 'newTask', + 'newHashlist', + 'hashlistAllCracked', + 'hashlistCrackedHash', + 'userCreated', + 'userDeleted', + 'userLoginFailed', + 'logWarn', + 'logFatal', + 'newAgent', + 'deleteTask', + 'deleteHashlist', + 'deleteAgent' + ]).optional(), receiver: z.string().optional() }) }) @@ -3470,7 +3651,7 @@ export const zNotificationSettingPatch = z.object({ export const zNotificationSettingResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/notifications?page[size]=25'), @@ -3483,9 +3664,31 @@ export const zNotificationSettingResponse = z.object({ id: z.int(), type: z.literal('notificationSetting'), attributes: z.object({ - action: z.string(), + action: z.enum([ + 'createNotification', + 'setActive', + 'deleteNotification' + ]), objectId: z.int(), - notification: z.string(), + notification: z.enum([ + 'taskComplete', + 'agentError', + 'ownAgentError', + 'logError', + 'newTask', + 'newHashlist', + 'hashlistAllCracked', + 'hashlistCrackedHash', + 'userCreated', + 'userDeleted', + 'userLoginFailed', + 'logWarn', + 'logFatal', + 'newAgent', + 'deleteTask', + 'deleteHashlist', + 'deleteAgent' + ]), userId: z.int(), receiver: z.string(), isActive: z.boolean() @@ -3507,7 +3710,7 @@ export const zNotificationSettingResponse = z.object({ id: z.int().optional(), type: z.literal('user').optional(), attributes: z.object({ - userId: z.int().optional(), + id: z.int().optional(), name: z.string().optional(), email: z.string().optional(), passwordHash: z.string().optional(), @@ -3530,15 +3733,37 @@ export const zNotificationSettingResponse = z.object({ export const zNotificationSettingPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), type: z.literal('notificationSetting'), attributes: z.object({ - action: z.string(), + action: z.enum([ + 'createNotification', + 'setActive', + 'deleteNotification' + ]), objectId: z.int(), - notification: z.string(), + notification: z.enum([ + 'taskComplete', + 'agentError', + 'ownAgentError', + 'logError', + 'newTask', + 'newHashlist', + 'hashlistAllCracked', + 'hashlistCrackedHash', + 'userCreated', + 'userDeleted', + 'userLoginFailed', + 'logWarn', + 'logFatal', + 'newAgent', + 'deleteTask', + 'deleteHashlist', + 'deleteAgent' + ]), userId: z.int(), receiver: z.string(), isActive: z.boolean() @@ -3549,7 +3774,7 @@ export const zNotificationSettingPostPatchResponse = z.object({ export const zNotificationSettingListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/notifications?page[size]=25'), @@ -3562,9 +3787,31 @@ export const zNotificationSettingListResponse = z.object({ id: z.int(), type: z.literal('notificationSetting'), attributes: z.object({ - action: z.string(), + action: z.enum([ + 'createNotification', + 'setActive', + 'deleteNotification' + ]), objectId: z.int(), - notification: z.string(), + notification: z.enum([ + 'taskComplete', + 'agentError', + 'ownAgentError', + 'logError', + 'newTask', + 'newHashlist', + 'hashlistAllCracked', + 'hashlistCrackedHash', + 'userCreated', + 'userDeleted', + 'userLoginFailed', + 'logWarn', + 'logFatal', + 'newAgent', + 'deleteTask', + 'deleteHashlist', + 'deleteAgent' + ]), userId: z.int(), receiver: z.string(), isActive: z.boolean() @@ -3586,7 +3833,7 @@ export const zNotificationSettingListResponse = z.object({ id: z.int().optional(), type: z.literal('user').optional(), attributes: z.object({ - userId: z.int().optional(), + id: z.int().optional(), name: z.string().optional(), email: z.string().optional(), passwordHash: z.string().optional(), @@ -3624,12 +3871,12 @@ export const zPreprocessorCreate = z.object({ data: z.object({ type: z.literal('preprocessor'), attributes: z.object({ - name: z.string().optional(), - url: z.string().optional(), - binaryName: z.string().optional(), - keyspaceCommand: z.string().optional(), - skipCommand: z.string().optional(), - limitCommand: z.string().optional() + name: z.string(), + url: z.string(), + binaryName: z.string(), + keyspaceCommand: z.string(), + skipCommand: z.string(), + limitCommand: z.string() }) }) }); @@ -3651,7 +3898,7 @@ export const zPreprocessorPatch = z.object({ export const zPreprocessorResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), @@ -3679,7 +3926,7 @@ export const zPreprocessorResponse = z.object({ export const zPreprocessorPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -3698,7 +3945,7 @@ export const zPreprocessorPostPatchResponse = z.object({ export const zPreprocessorListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), @@ -3723,30 +3970,30 @@ export const zPreprocessorListResponse = z.object({ included: z.array(z.record(z.string(), z.unknown())).optional() }); -export const zPretaskCreate = z.object({ +export const zPreTaskCreate = z.object({ data: z.object({ - type: z.literal('pretask'), + type: z.literal('preTask'), attributes: z.object({ - files: z.array(z.int()).optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - isMaskImport: z.boolean().optional(), - crackerBinaryTypeId: z.int().optional() + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int() }) }) }); -export const zPretaskPatch = z.object({ +export const zPreTaskPatch = z.object({ data: z.object({ - type: z.literal('pretask'), + type: z.literal('preTask'), attributes: z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), @@ -3763,10 +4010,10 @@ export const zPretaskPatch = z.object({ }) }); -export const zPretaskResponse = z.object({ +export const zPreTaskResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), @@ -3777,7 +4024,7 @@ export const zPretaskResponse = z.object({ }).optional(), data: z.object({ id: z.int(), - type: z.literal('pretask'), + type: z.literal('preTask'), attributes: z.object({ taskName: z.string(), attackCmd: z.string(), @@ -3816,21 +4063,26 @@ export const zPretaskResponse = z.object({ filename: z.string().optional(), size: z.number().optional(), isSecret: z.boolean().optional(), - fileType: z.int().optional(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]).optional(), accessGroupId: z.int().optional(), lineCount: z.number().optional() }).optional() })).optional() }); -export const zPretaskPostPatchResponse = z.object({ +export const zPreTaskPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), - type: z.literal('pretask'), + type: z.literal('preTask'), attributes: z.object({ taskName: z.string(), attackCmd: z.string(), @@ -3849,10 +4101,10 @@ export const zPretaskPostPatchResponse = z.object({ }) }); -export const zPretaskListResponse = z.object({ +export const zPreTaskListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), @@ -3863,7 +4115,7 @@ export const zPretaskListResponse = z.object({ }).optional(), data: z.array(z.object({ id: z.int(), - type: z.literal('pretask'), + type: z.literal('preTask'), attributes: z.object({ taskName: z.string(), attackCmd: z.string(), @@ -3902,21 +4154,26 @@ export const zPretaskListResponse = z.object({ filename: z.string().optional(), size: z.number().optional(), isSecret: z.boolean().optional(), - fileType: z.int().optional(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]).optional(), accessGroupId: z.int().optional(), lineCount: z.number().optional() }).optional() })).optional() }); -export const zPretaskRelationPretaskFiles = z.object({ +export const zPreTaskRelationPretaskFiles = z.object({ data: z.array(z.object({ type: z.literal('pretaskFiles'), id: z.int().default(1) })) }); -export const zPretaskRelationPretaskFilesGetResponse = z.object({ +export const zPreTaskRelationPretaskFilesGetResponse = z.object({ data: z.array(z.object({ type: z.literal('pretaskFiles'), id: z.int().default(1) @@ -3926,7 +4183,7 @@ export const zPretaskRelationPretaskFilesGetResponse = z.object({ export const zSpeedResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/speeds?page[size]=25'), @@ -4004,7 +4261,7 @@ export const zSpeedResponse = z.object({ export const zSpeedListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/speeds?page[size]=25'), @@ -4097,8 +4354,8 @@ export const zSupertaskCreate = z.object({ data: z.object({ type: z.literal('supertask'), attributes: z.object({ - pretasks: z.array(z.int()).optional(), - supertaskName: z.string().optional() + pretasks: z.array(z.int()), + supertaskName: z.string() }) }) }); @@ -4115,7 +4372,7 @@ export const zSupertaskPatch = z.object({ export const zSupertaskResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), @@ -4210,7 +4467,7 @@ export const zSupertaskSingleResponse = z.object({ export const zSupertaskPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -4224,7 +4481,7 @@ export const zSupertaskPostPatchResponse = z.object({ export const zSupertaskListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), @@ -4292,28 +4549,28 @@ export const zTaskCreate = z.object({ data: z.object({ type: z.literal('task'), attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + priority: z.int(), + maxAgents: z.int(), color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() }) }) }); @@ -4340,7 +4597,7 @@ export const zTaskPatch = z.object({ export const zTaskResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/tasks?page[size]=25'), @@ -4469,7 +4726,7 @@ export const zTaskResponse = z.object({ export const zTaskPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -4518,7 +4775,7 @@ export const zTaskPostPatchResponse = z.object({ export const zTaskListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/tasks?page[size]=25'), @@ -4674,7 +4931,7 @@ export const zTaskWrapperPatch = z.object({ export const zTaskWrapperResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), @@ -4887,7 +5144,7 @@ export const zTaskWrapperSingleResponse = z.object({ export const zTaskWrapperPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -4908,7 +5165,7 @@ export const zTaskWrapperPostPatchResponse = z.object({ export const zTaskWrapperListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), @@ -5035,9 +5292,9 @@ export const zUserCreate = z.object({ data: z.object({ type: z.literal('user'), attributes: z.object({ - name: z.string().optional(), - email: z.string().optional(), - globalPermissionGroupId: z.int().optional() + name: z.string(), + email: z.string(), + globalPermissionGroupId: z.int() }) }) }); @@ -5057,7 +5314,7 @@ export const zUserPatch = z.object({ export const zUserResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/users?page[size]=25'), @@ -5120,7 +5377,7 @@ export const zUserResponse = z.object({ export const zUserPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), @@ -5146,7 +5403,7 @@ export const zUserPostPatchResponse = z.object({ export const zUserListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/users?page[size]=25'), @@ -5220,28 +5477,28 @@ export const zUserRelationAccessGroupsGetResponse = z.object({ })) }); -export const zRegVoucherCreate = z.object({ +export const zVoucherCreate = z.object({ data: z.object({ - type: z.literal('regVoucher'), + type: z.literal('voucher'), attributes: z.object({ - voucher: z.string().optional() + voucher: z.string() }) }) }); -export const zRegVoucherPatch = z.object({ +export const zVoucherPatch = z.object({ data: z.object({ - type: z.literal('regVoucher'), + type: z.literal('voucher'), attributes: z.object({ voucher: z.string().optional() }) }) }); -export const zRegVoucherResponse = z.object({ +export const zVoucherResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), @@ -5252,7 +5509,7 @@ export const zRegVoucherResponse = z.object({ }).optional(), data: z.object({ id: z.int(), - type: z.literal('regVoucher'), + type: z.literal('voucher'), attributes: z.object({ voucher: z.string(), time: z.number() @@ -5262,14 +5519,14 @@ export const zRegVoucherResponse = z.object({ included: z.array(z.record(z.string(), z.unknown())).optional() }); -export const zRegVoucherPostPatchResponse = z.object({ +export const zVoucherPostPatchResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), data: z.object({ id: z.int(), - type: z.literal('regVoucher'), + type: z.literal('voucher'), attributes: z.object({ voucher: z.string(), time: z.number() @@ -5277,10 +5534,10 @@ export const zRegVoucherPostPatchResponse = z.object({ }) }); -export const zRegVoucherListResponse = z.object({ +export const zVoucherListResponse = z.object({ jsonapi: z.object({ version: z.string().default('1.1'), - ext: z.string().optional().default('https://jsonapi.org/profiles/ethanresnick/cursor-pagination') + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) }), links: z.object({ self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), @@ -5291,7 +5548,7 @@ export const zRegVoucherListResponse = z.object({ }).optional(), data: z.array(z.object({ id: z.int(), - type: z.literal('regVoucher'), + type: z.literal('voucher'), attributes: z.object({ voucher: z.string(), time: z.number() @@ -5850,7 +6107,7 @@ export const zGetAgentassignmentsData = z.object({ /** * successful operation */ -export const zGetAgentassignmentsResponse = zAssignmentListResponse; +export const zGetAgentassignmentsResponse = zAgentAssignmentListResponse; export const zPatchAgentassignmentsData = z.object({ body: z.never().optional(), @@ -5859,7 +6116,7 @@ export const zPatchAgentassignmentsData = z.object({ }); export const zPostAgentassignmentsData = z.object({ - body: zAssignmentCreate, + body: zAgentAssignmentCreate, path: z.never().optional(), query: z.never().optional() }); @@ -5867,7 +6124,7 @@ export const zPostAgentassignmentsData = z.object({ /** * successful operation */ -export const zPostAgentassignmentsResponse = zAssignmentPostPatchResponse; +export const zPostAgentassignmentsResponse = zAgentAssignmentPostPatchResponse; export const zGetAgentassignmentsCountData = z.object({ body: z.never().optional(), @@ -5884,7 +6141,7 @@ export const zGetAgentassignmentsCountData = z.object({ /** * successful operation */ -export const zGetAgentassignmentsCountResponse = zAssignmentListResponse; +export const zGetAgentassignmentsCountResponse = zAgentAssignmentListResponse; export const zGetAgentassignmentsByIdByRelationData = z.object({ body: z.never().optional(), @@ -5898,7 +6155,7 @@ export const zGetAgentassignmentsByIdByRelationData = z.object({ /** * successful operation */ -export const zGetAgentassignmentsByIdByRelationResponse = zAssignmentRelationTaskGetResponse; +export const zGetAgentassignmentsByIdByRelationResponse = zAgentAssignmentRelationTaskGetResponse; export const zGetAgentassignmentsByIdRelationshipsByRelationData = z.object({ body: z.never().optional(), @@ -5912,10 +6169,10 @@ export const zGetAgentassignmentsByIdRelationshipsByRelationData = z.object({ /** * successful operation */ -export const zGetAgentassignmentsByIdRelationshipsByRelationResponse = zAssignmentResponse; +export const zGetAgentassignmentsByIdRelationshipsByRelationResponse = zAgentAssignmentResponse; export const zPatchAgentassignmentsByIdRelationshipsByRelationData = z.object({ - body: zAssignmentRelationTask, + body: zAgentAssignmentRelationTask, path: z.object({ id: z.int(), relation: z.string() @@ -5954,10 +6211,10 @@ export const zGetAgentassignmentsByIdData = z.object({ /** * successful operation */ -export const zGetAgentassignmentsByIdResponse = zAssignmentResponse; +export const zGetAgentassignmentsByIdResponse = zAgentAssignmentResponse; export const zPatchAgentassignmentsByIdData = z.object({ - body: zAssignmentPatch, + body: zAgentAssignmentPatch, path: z.object({ id: z.int() }), @@ -5967,7 +6224,7 @@ export const zPatchAgentassignmentsByIdData = z.object({ /** * successful operation */ -export const zPatchAgentassignmentsByIdResponse = zAssignmentPostPatchResponse; +export const zPatchAgentassignmentsByIdResponse = zAgentAssignmentPostPatchResponse; export const zDeleteAgentbinariesData = z.object({ body: z.never().optional(), @@ -6266,7 +6523,7 @@ export const zGetApiTokensData = z.object({ /** * successful operation */ -export const zGetApiTokensResponse = zJwtApiKeyListResponse; +export const zGetApiTokensResponse = zApiTokenListResponse; export const zPatchApiTokensData = z.object({ body: z.never().optional(), @@ -6275,7 +6532,7 @@ export const zPatchApiTokensData = z.object({ }); export const zPostApiTokensData = z.object({ - body: zJwtApiKeyCreate, + body: zApiTokenCreate, path: z.never().optional(), query: z.never().optional() }); @@ -6283,7 +6540,7 @@ export const zPostApiTokensData = z.object({ /** * successful operation */ -export const zPostApiTokensResponse = zJwtApiKeyPostPatchResponse; +export const zPostApiTokensResponse = zApiTokenPostPatchResponse; export const zGetApiTokensCountData = z.object({ body: z.never().optional(), @@ -6300,7 +6557,7 @@ export const zGetApiTokensCountData = z.object({ /** * successful operation */ -export const zGetApiTokensCountResponse = zJwtApiKeyListResponse; +export const zGetApiTokensCountResponse = zApiTokenListResponse; export const zGetApiTokensByIdByRelationData = z.object({ body: z.never().optional(), @@ -6314,7 +6571,7 @@ export const zGetApiTokensByIdByRelationData = z.object({ /** * successful operation */ -export const zGetApiTokensByIdByRelationResponse = zJwtApiKeyRelationUserGetResponse; +export const zGetApiTokensByIdByRelationResponse = zApiTokenRelationUserGetResponse; export const zGetApiTokensByIdRelationshipsByRelationData = z.object({ body: z.never().optional(), @@ -6328,10 +6585,10 @@ export const zGetApiTokensByIdRelationshipsByRelationData = z.object({ /** * successful operation */ -export const zGetApiTokensByIdRelationshipsByRelationResponse = zJwtApiKeyResponse; +export const zGetApiTokensByIdRelationshipsByRelationResponse = zApiTokenResponse; export const zPatchApiTokensByIdRelationshipsByRelationData = z.object({ - body: zJwtApiKeyRelationUser, + body: zApiTokenRelationUser, path: z.object({ id: z.int(), relation: z.string() @@ -6370,10 +6627,10 @@ export const zGetApiTokensByIdData = z.object({ /** * successful operation */ -export const zGetApiTokensByIdResponse = zJwtApiKeyResponse; +export const zGetApiTokensByIdResponse = zApiTokenResponse; export const zPatchApiTokensByIdData = z.object({ - body: zJwtApiKeyPatch, + body: zApiTokenPatch, path: z.object({ id: z.int() }), @@ -6383,7 +6640,7 @@ export const zPatchApiTokensByIdData = z.object({ /** * successful operation */ -export const zPatchApiTokensByIdResponse = zJwtApiKeyPostPatchResponse; +export const zPatchApiTokensByIdResponse = zApiTokenPostPatchResponse; export const zGetChunksData = z.object({ body: z.never().optional(), @@ -7132,7 +7389,7 @@ export const zGetGlobalpermissiongroupsData = z.object({ /** * successful operation */ -export const zGetGlobalpermissiongroupsResponse = zRightGroupListResponse; +export const zGetGlobalpermissiongroupsResponse = zGlobalPermissionGroupListResponse; export const zPatchGlobalpermissiongroupsData = z.object({ body: z.never().optional(), @@ -7141,7 +7398,7 @@ export const zPatchGlobalpermissiongroupsData = z.object({ }); export const zPostGlobalpermissiongroupsData = z.object({ - body: zRightGroupCreate, + body: zGlobalPermissionGroupCreate, path: z.never().optional(), query: z.never().optional() }); @@ -7149,7 +7406,7 @@ export const zPostGlobalpermissiongroupsData = z.object({ /** * successful operation */ -export const zPostGlobalpermissiongroupsResponse = zRightGroupPostPatchResponse; +export const zPostGlobalpermissiongroupsResponse = zGlobalPermissionGroupPostPatchResponse; export const zGetGlobalpermissiongroupsCountData = z.object({ body: z.never().optional(), @@ -7166,7 +7423,7 @@ export const zGetGlobalpermissiongroupsCountData = z.object({ /** * successful operation */ -export const zGetGlobalpermissiongroupsCountResponse = zRightGroupListResponse; +export const zGetGlobalpermissiongroupsCountResponse = zGlobalPermissionGroupListResponse; export const zGetGlobalpermissiongroupsByIdByRelationData = z.object({ body: z.never().optional(), @@ -7180,10 +7437,10 @@ export const zGetGlobalpermissiongroupsByIdByRelationData = z.object({ /** * successful operation */ -export const zGetGlobalpermissiongroupsByIdByRelationResponse = zRightGroupRelationUserMembersGetResponse; +export const zGetGlobalpermissiongroupsByIdByRelationResponse = zGlobalPermissionGroupRelationUserMembersGetResponse; export const zDeleteGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ - body: zRightGroupRelationUserMembers, + body: zGlobalPermissionGroupRelationUserMembers, path: z.object({ id: z.int(), relation: z.string() @@ -7208,10 +7465,10 @@ export const zGetGlobalpermissiongroupsByIdRelationshipsByRelationData = z.objec /** * successful operation */ -export const zGetGlobalpermissiongroupsByIdRelationshipsByRelationResponse = zRightGroupResponse; +export const zGetGlobalpermissiongroupsByIdRelationshipsByRelationResponse = zGlobalPermissionGroupResponse; export const zPatchGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ - body: zRightGroupRelationUserMembers, + body: zGlobalPermissionGroupRelationUserMembers, path: z.object({ id: z.int(), relation: z.string() @@ -7264,10 +7521,10 @@ export const zGetGlobalpermissiongroupsByIdData = z.object({ /** * successful operation */ -export const zGetGlobalpermissiongroupsByIdResponse = zRightGroupResponse; +export const zGetGlobalpermissiongroupsByIdResponse = zGlobalPermissionGroupResponse; export const zPatchGlobalpermissiongroupsByIdData = z.object({ - body: zRightGroupPatch, + body: zGlobalPermissionGroupPatch, path: z.object({ id: z.int() }), @@ -7277,7 +7534,7 @@ export const zPatchGlobalpermissiongroupsByIdData = z.object({ /** * successful operation */ -export const zPatchGlobalpermissiongroupsByIdResponse = zRightGroupPostPatchResponse; +export const zPatchGlobalpermissiongroupsByIdResponse = zGlobalPermissionGroupPostPatchResponse; export const zGetHashesData = z.object({ body: z.never().optional(), @@ -8252,7 +8509,7 @@ export const zGetPretasksData = z.object({ /** * successful operation */ -export const zGetPretasksResponse = zPretaskListResponse; +export const zGetPretasksResponse = zPreTaskListResponse; export const zPatchPretasksData = z.object({ body: z.never().optional(), @@ -8261,7 +8518,7 @@ export const zPatchPretasksData = z.object({ }); export const zPostPretasksData = z.object({ - body: zPretaskCreate, + body: zPreTaskCreate, path: z.never().optional(), query: z.never().optional() }); @@ -8269,7 +8526,7 @@ export const zPostPretasksData = z.object({ /** * successful operation */ -export const zPostPretasksResponse = zPretaskPostPatchResponse; +export const zPostPretasksResponse = zPreTaskPostPatchResponse; export const zGetPretasksCountData = z.object({ body: z.never().optional(), @@ -8286,7 +8543,7 @@ export const zGetPretasksCountData = z.object({ /** * successful operation */ -export const zGetPretasksCountResponse = zPretaskListResponse; +export const zGetPretasksCountResponse = zPreTaskListResponse; export const zGetPretasksByIdByRelationData = z.object({ body: z.never().optional(), @@ -8300,10 +8557,10 @@ export const zGetPretasksByIdByRelationData = z.object({ /** * successful operation */ -export const zGetPretasksByIdByRelationResponse = zPretaskRelationPretaskFilesGetResponse; +export const zGetPretasksByIdByRelationResponse = zPreTaskRelationPretaskFilesGetResponse; export const zDeletePretasksByIdRelationshipsByRelationData = z.object({ - body: zPretaskRelationPretaskFiles, + body: zPreTaskRelationPretaskFiles, path: z.object({ id: z.int(), relation: z.string() @@ -8328,10 +8585,10 @@ export const zGetPretasksByIdRelationshipsByRelationData = z.object({ /** * successful operation */ -export const zGetPretasksByIdRelationshipsByRelationResponse = zPretaskResponse; +export const zGetPretasksByIdRelationshipsByRelationResponse = zPreTaskResponse; export const zPatchPretasksByIdRelationshipsByRelationData = z.object({ - body: zPretaskRelationPretaskFiles, + body: zPreTaskRelationPretaskFiles, path: z.object({ id: z.int(), relation: z.string() @@ -8384,10 +8641,10 @@ export const zGetPretasksByIdData = z.object({ /** * successful operation */ -export const zGetPretasksByIdResponse = zPretaskResponse; +export const zGetPretasksByIdResponse = zPreTaskResponse; export const zPatchPretasksByIdData = z.object({ - body: zPretaskPatch, + body: zPreTaskPatch, path: z.object({ id: z.int() }), @@ -8397,7 +8654,7 @@ export const zPatchPretasksByIdData = z.object({ /** * successful operation */ -export const zPatchPretasksByIdResponse = zPretaskPostPatchResponse; +export const zPatchPretasksByIdResponse = zPreTaskPostPatchResponse; export const zGetSpeedsData = z.object({ body: z.never().optional(), @@ -9172,7 +9429,7 @@ export const zGetVouchersData = z.object({ /** * successful operation */ -export const zGetVouchersResponse = zRegVoucherListResponse; +export const zGetVouchersResponse = zVoucherListResponse; export const zPatchVouchersData = z.object({ body: z.never().optional(), @@ -9181,7 +9438,7 @@ export const zPatchVouchersData = z.object({ }); export const zPostVouchersData = z.object({ - body: zRegVoucherCreate, + body: zVoucherCreate, path: z.never().optional(), query: z.never().optional() }); @@ -9189,7 +9446,7 @@ export const zPostVouchersData = z.object({ /** * successful operation */ -export const zPostVouchersResponse = zRegVoucherPostPatchResponse; +export const zPostVouchersResponse = zVoucherPostPatchResponse; export const zGetVouchersCountData = z.object({ body: z.never().optional(), @@ -9206,7 +9463,7 @@ export const zGetVouchersCountData = z.object({ /** * successful operation */ -export const zGetVouchersCountResponse = zRegVoucherListResponse; +export const zGetVouchersCountResponse = zVoucherListResponse; export const zDeleteVouchersByIdData = z.object({ body: z.record(z.string(), z.unknown()), @@ -9234,10 +9491,10 @@ export const zGetVouchersByIdData = z.object({ /** * successful operation */ -export const zGetVouchersByIdResponse = zRegVoucherResponse; +export const zGetVouchersByIdResponse = zVoucherResponse; export const zPatchVouchersByIdData = z.object({ - body: zRegVoucherPatch, + body: zVoucherPatch, path: z.object({ id: z.int() }), @@ -9247,7 +9504,7 @@ export const zPatchVouchersByIdData = z.object({ /** * successful operation */ -export const zPatchVouchersByIdResponse = zRegVoucherPostPatchResponse; +export const zPatchVouchersByIdResponse = zVoucherPostPatchResponse; export const zPostAbortChunkData = z.object({ body: zAbortChunkHelperApi, From 7bdfb02af699b40962c9203fac8507328c7bf39f Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Mon, 23 Mar 2026 16:02:59 +0100 Subject: [PATCH 05/14] Add some custom types to circumvent bad zod inference due to strict mode being off --- openapi.json | 5707 ++++++++++++++--- .../agents/edit-agent/edit-agent.component.ts | 8 +- .../view-health-checks.component.ts | 3 +- .../core/_datasources/agents.datasource.ts | 4 +- .../core/_datasources/chunks.datasource.ts | 4 +- src/app/core/_datasources/files.datasource.ts | 4 +- .../health-check-agents.datasource.ts | 4 +- .../_datasources/health-checks.datasource.ts | 4 +- .../_datasources/notifications.datasource.ts | 4 +- .../_datasources/tasks-chunks.datasource.ts | 4 +- .../tasks-supertasks.datasource.ts | 4 +- src/app/core/_models/health-check.model.ts | 4 +- src/app/core/_models/json-api.types.ts | 73 +- src/app/core/_models/schemas.ts | 101 + .../core/_services/api/serializer-service.ts | 27 +- src/app/hashlists/hashes/hashes.component.ts | 3 +- .../task-visual/task-visual.component.ts | 6 +- .../tasks/edit-tasks/edit-tasks.component.ts | 4 +- .../wrbulk/wrbulk.component.ts | 3 +- .../edit-groups/edit-groups.component.ts | 4 +- src/generated/api/types.gen.ts | 2897 ++++++--- src/generated/api/zod.gen.ts | 3591 +++++++---- 22 files changed, 9239 insertions(+), 3224 deletions(-) create mode 100644 src/app/core/_models/schemas.ts diff --git a/openapi.json b/openapi.json index e4722c24d..6283b4f76 100644 --- a/openapi.json +++ b/openapi.json @@ -189,7 +189,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: userMembers,agentMembers" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count AccessGroups", @@ -514,7 +514,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Agents", @@ -613,7 +613,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Agents", @@ -932,7 +932,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: agent,task" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List AgentAssignments", @@ -1061,7 +1061,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: agent,task" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count AgentAssignments", @@ -1327,7 +1327,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List AgentBinarys", @@ -1454,7 +1454,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count AgentBinarys", @@ -1612,7 +1612,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: task" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List AgentErrors", @@ -1692,7 +1692,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: task" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count AgentErrors", @@ -1922,7 +1922,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List AgentStats", @@ -2002,7 +2002,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count AgentStats", @@ -2128,7 +2128,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: user" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List ApiTokens", @@ -2255,7 +2255,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: user" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count ApiTokens", @@ -2517,7 +2517,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: agent,task" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Chunks", @@ -2578,7 +2578,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: agent,task" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Chunks", @@ -2784,7 +2784,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: configSection" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Configs", @@ -2864,7 +2864,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: configSection" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Configs", @@ -3106,7 +3106,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List ConfigSections", @@ -3169,7 +3169,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count ConfigSections", @@ -3273,7 +3273,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: crackerBinaryType,tasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List CrackerBinarys", @@ -3402,7 +3402,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: crackerBinaryType,tasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count CrackerBinarys", @@ -3723,7 +3723,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: crackerVersions,tasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List CrackerBinaryTypes", @@ -3852,7 +3852,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: crackerVersions,tasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count CrackerBinaryTypes", @@ -4181,7 +4181,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: accessGroup" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Files", @@ -4306,7 +4306,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: accessGroup" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Files", @@ -4568,7 +4568,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: userMembers" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List GlobalPermissionGroups", @@ -4701,7 +4701,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: userMembers" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count GlobalPermissionGroups", @@ -5036,7 +5036,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: chunk,hashlist" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Hashs", @@ -5097,7 +5097,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: chunk,hashlist" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Hashs", @@ -5303,7 +5303,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Hashlists", @@ -5430,7 +5430,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Hashlists", @@ -5749,7 +5749,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List HashTypes", @@ -5876,7 +5876,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count HashTypes", @@ -6036,7 +6036,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: agent,healthCheck" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List HealthCheckAgents", @@ -6099,7 +6099,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: agent,healthCheck" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count HealthCheckAgents", @@ -6309,7 +6309,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List HealthChecks", @@ -6436,7 +6436,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count HealthChecks", @@ -6761,7 +6761,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List LogEntrys", @@ -6888,7 +6888,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count LogEntrys", @@ -7048,7 +7048,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: user" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List NotificationSettings", @@ -7177,7 +7177,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: user" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count NotificationSettings", @@ -7447,7 +7447,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Preprocessors", @@ -7574,7 +7574,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Preprocessors", @@ -7732,7 +7732,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: pretaskFiles" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List PreTasks", @@ -7857,7 +7857,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: pretaskFiles" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count PreTasks", @@ -8180,7 +8180,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: agent,task" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Speeds", @@ -8241,7 +8241,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: agent,task" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Speeds", @@ -8447,7 +8447,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: pretasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Supertasks", @@ -8574,7 +8574,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: pretasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Supertasks", @@ -8893,7 +8893,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Tasks", @@ -9018,7 +9018,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Tasks", @@ -9335,7 +9335,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List TaskWrappers", @@ -9434,7 +9434,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count TaskWrappers", @@ -9753,7 +9753,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Users", @@ -9878,7 +9878,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Users", @@ -10195,7 +10195,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List Vouchers", @@ -10320,7 +10320,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: " + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "Count Vouchers", @@ -11350,32 +11350,107 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "agentMembers" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "agentId": { "type": "integer" }, - "agentName": { "type": "string" }, - "uid": { "type": "string" }, - "os": { "type": "integer", "enum": [0, 1, 2] }, - "devices": { "type": "string" }, - "cmdPars": { "type": "string" }, - "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, - "isActive": { "type": "boolean" }, - "isTrusted": { "type": "boolean" }, - "token": { "type": "string" }, - "lastAct": { "type": "string" }, - "lastTime": { "type": "integer", "format": "int64" }, - "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, - "cpuOnly": { "type": "boolean" }, - "clientSignature": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "userMembers" }, + "attributes": { + "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentMembers" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -11507,32 +11582,107 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "agentMembers" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "agentId": { "type": "integer" }, - "agentName": { "type": "string" }, - "uid": { "type": "string" }, - "os": { "type": "integer", "enum": [0, 1, 2] }, - "devices": { "type": "string" }, - "cmdPars": { "type": "string" }, - "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, - "isActive": { "type": "boolean" }, - "isTrusted": { "type": "boolean" }, - "token": { "type": "string" }, - "lastAct": { "type": "string" }, - "lastTime": { "type": "integer", "format": "int64" }, - "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, - "cpuOnly": { "type": "boolean" }, - "clientSignature": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "userMembers" }, + "attributes": { + "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentMembers" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -11586,10 +11736,22 @@ "agentName": { "type": "string" }, "cmdPars": { "type": "string" }, "cpuOnly": { "type": "boolean" }, - "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, "isActive": { "type": "boolean" }, "isTrusted": { "type": "boolean" }, - "os": { "type": "integer", "enum": [0, 1, 2] }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, "uid": { "type": "string" }, "userId": { "type": "integer" } } @@ -11653,10 +11815,22 @@ "properties": { "agentName": { "type": "string" }, "uid": { "type": "string" }, - "os": { "type": "integer", "enum": [0, 1, 2] }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, "devices": { "type": "string" }, "cmdPars": { "type": "string" }, - "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, "isActive": { "type": "boolean" }, "isTrusted": { "type": "boolean" }, "token": { "type": "string" }, @@ -11841,20 +12015,239 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "assignments" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "assignmentId": { "type": "integer" }, - "taskId": { "type": "integer" }, - "agentId": { "type": "integer" }, - "benchmark": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroups" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentStats" }, + "attributes": { + "type": "object", + "required": ["agentId", "statType", "time", "value"], + "properties": { + "agentId": { "type": "integer" }, + "statType": { + "oneOf": [ + { "const": 1, "title": "GPU temperature", "type": "integer" }, + { "const": 2, "title": "GPU utilization", "type": "integer" }, + { "const": 3, "title": "CPU utilization", "type": "integer" } + ] + }, + "time": { "type": "integer", "format": "int64" }, + "value": { "type": "array", "items": { "type": "integer" } } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentErrors" }, + "attributes": { + "type": "object", + "required": ["agentId", "taskId", "chunkId", "time", "error"], + "properties": { + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "chunkId": { "type": "integer" }, + "time": { "type": "integer", "format": "int64" }, + "error": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "chunks" }, + "attributes": { + "type": "object", + "required": [ + "taskId", + "skip", + "length", + "agentId", + "dispatchTime", + "solveTime", + "checkpoint", + "progress", + "state", + "cracked", + "speed" + ], + "properties": { + "taskId": { "type": "integer" }, + "skip": { "type": "integer" }, + "length": { "type": "integer" }, + "agentId": { "type": "integer" }, + "dispatchTime": { "type": "integer", "format": "int64" }, + "solveTime": { "type": "integer", "format": "int64" }, + "checkpoint": { "type": "integer", "format": "int64" }, + "progress": { "type": "integer" }, + "state": { + "oneOf": [ + { "const": 0, "title": "Init", "type": "integer" }, + { "const": 1, "title": "Autotune", "type": "integer" }, + { "const": 2, "title": "Running", "type": "integer" }, + { "const": 3, "title": "Paused", "type": "integer" }, + { "const": 4, "title": "Exhausted", "type": "integer" }, + { "const": 5, "title": "Cracked", "type": "integer" }, + { "const": 6, "title": "Aborted", "type": "integer" }, + { "const": 7, "title": "Quit", "type": "integer" }, + { "const": 8, "title": "Bypass", "type": "integer" }, + { "const": 9, "title": "Aborted at checkpoint", "type": "integer" }, + { "const": 10, "title": "Aborted at runtime", "type": "integer" } + ] + }, + "cracked": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "assignments" }, + "attributes": { + "type": "object", + "required": ["taskId", "agentId", "benchmark"], + "properties": { + "taskId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "benchmark": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -11903,10 +12296,22 @@ "properties": { "agentName": { "type": "string" }, "uid": { "type": "string" }, - "os": { "type": "integer", "enum": [0, 1, 2] }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, "devices": { "type": "string" }, "cmdPars": { "type": "string" }, - "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, "isActive": { "type": "boolean" }, "isTrusted": { "type": "boolean" }, "token": { "type": "string" }, @@ -11979,10 +12384,22 @@ "properties": { "agentName": { "type": "string" }, "uid": { "type": "string" }, - "os": { "type": "integer", "enum": [0, 1, 2] }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, "devices": { "type": "string" }, "cmdPars": { "type": "string" }, - "ignoreErrors": { "type": "integer", "enum": [0, 1, 2] }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, "isActive": { "type": "boolean" }, "isTrusted": { "type": "boolean" }, "token": { "type": "string" }, @@ -12168,20 +12585,239 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "assignments" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "assignmentId": { "type": "integer" }, - "taskId": { "type": "integer" }, - "agentId": { "type": "integer" }, - "benchmark": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "user" }, + "attributes": { + "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, + "otp4": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroups" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentStats" }, + "attributes": { + "type": "object", + "required": ["agentId", "statType", "time", "value"], + "properties": { + "agentId": { "type": "integer" }, + "statType": { + "oneOf": [ + { "const": 1, "title": "GPU temperature", "type": "integer" }, + { "const": 2, "title": "GPU utilization", "type": "integer" }, + { "const": 3, "title": "CPU utilization", "type": "integer" } + ] + }, + "time": { "type": "integer", "format": "int64" }, + "value": { "type": "array", "items": { "type": "integer" } } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agentErrors" }, + "attributes": { + "type": "object", + "required": ["agentId", "taskId", "chunkId", "time", "error"], + "properties": { + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "chunkId": { "type": "integer" }, + "time": { "type": "integer", "format": "int64" }, + "error": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "chunks" }, + "attributes": { + "type": "object", + "required": [ + "taskId", + "skip", + "length", + "agentId", + "dispatchTime", + "solveTime", + "checkpoint", + "progress", + "state", + "cracked", + "speed" + ], + "properties": { + "taskId": { "type": "integer" }, + "skip": { "type": "integer" }, + "length": { "type": "integer" }, + "agentId": { "type": "integer" }, + "dispatchTime": { "type": "integer", "format": "int64" }, + "solveTime": { "type": "integer", "format": "int64" }, + "checkpoint": { "type": "integer", "format": "int64" }, + "progress": { "type": "integer" }, + "state": { + "oneOf": [ + { "const": 0, "title": "Init", "type": "integer" }, + { "const": 1, "title": "Autotune", "type": "integer" }, + { "const": 2, "title": "Running", "type": "integer" }, + { "const": 3, "title": "Paused", "type": "integer" }, + { "const": 4, "title": "Exhausted", "type": "integer" }, + { "const": 5, "title": "Cracked", "type": "integer" }, + { "const": 6, "title": "Aborted", "type": "integer" }, + { "const": 7, "title": "Quit", "type": "integer" }, + { "const": 8, "title": "Bypass", "type": "integer" }, + { "const": 9, "title": "Aborted at checkpoint", "type": "integer" }, + { "const": 10, "title": "Aborted at runtime", "type": "integer" } + ] + }, + "cracked": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "assignments" }, + "attributes": { + "type": "object", + "required": ["taskId", "agentId", "benchmark"], + "properties": { + "taskId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "benchmark": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -12357,42 +12993,131 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "task" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -12536,42 +13261,131 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "task" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -12693,7 +13507,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "AgentBinaryPostPatchResponse": { @@ -12792,7 +13606,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "AgentErrorResponse": { @@ -12875,15 +13689,42 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], "properties": { "hashlistId": { "type": "integer" }, "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -12997,15 +13838,42 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], "properties": { "hashlistId": { "type": "integer" }, "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -13096,7 +13964,13 @@ "required": ["agentId", "statType", "time", "value"], "properties": { "agentId": { "type": "integer" }, - "statType": { "type": "integer", "enum": [1, 2, 3] }, + "statType": { + "oneOf": [ + { "const": 1, "title": "GPU temperature", "type": "integer" }, + { "const": 2, "title": "GPU utilization", "type": "integer" }, + { "const": 3, "title": "CPU utilization", "type": "integer" } + ] + }, "time": { "type": "integer", "format": "int64" }, "value": { "type": "array", "items": { "type": "integer" } } } @@ -13104,7 +13978,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "AgentStatListResponse": { @@ -13147,7 +14021,13 @@ "required": ["agentId", "statType", "time", "value"], "properties": { "agentId": { "type": "integer" }, - "statType": { "type": "integer", "enum": [1, 2, 3] }, + "statType": { + "oneOf": [ + { "const": 1, "title": "GPU temperature", "type": "integer" }, + { "const": 2, "title": "GPU utilization", "type": "integer" }, + { "const": 3, "title": "CPU utilization", "type": "integer" } + ] + }, "time": { "type": "integer", "format": "int64" }, "value": { "type": "array", "items": { "type": "integer" } } } @@ -13156,7 +14036,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "ApiTokenCreate": { @@ -13277,17 +14157,30 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "user" }, "attributes": { "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], "properties": { - "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, - "passwordHash": { "type": "string" }, - "passwordSalt": { "type": "string" }, "isValid": { "type": "boolean" }, "isComputedPassword": { "type": "boolean" }, "lastLoginDate": { "type": "integer", "format": "int64" }, @@ -13426,17 +14319,30 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "user" }, "attributes": { "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], "properties": { - "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, - "passwordHash": { "type": "string" }, - "passwordSalt": { "type": "string" }, "isValid": { "type": "boolean" }, "isComputedPassword": { "type": "boolean" }, "lastLoginDate": { "type": "integer", "format": "int64" }, @@ -13534,7 +14440,21 @@ "solveTime": { "type": "integer", "format": "int64" }, "checkpoint": { "type": "integer", "format": "int64" }, "progress": { "type": "integer" }, - "state": { "type": "integer", "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] }, + "state": { + "oneOf": [ + { "const": 0, "title": "Init", "type": "integer" }, + { "const": 1, "title": "Autotune", "type": "integer" }, + { "const": 2, "title": "Running", "type": "integer" }, + { "const": 3, "title": "Paused", "type": "integer" }, + { "const": 4, "title": "Exhausted", "type": "integer" }, + { "const": 5, "title": "Cracked", "type": "integer" }, + { "const": 6, "title": "Aborted", "type": "integer" }, + { "const": 7, "title": "Quit", "type": "integer" }, + { "const": 8, "title": "Bypass", "type": "integer" }, + { "const": 9, "title": "Aborted at checkpoint", "type": "integer" }, + { "const": 10, "title": "Aborted at runtime", "type": "integer" } + ] + }, "cracked": { "type": "integer" }, "speed": { "type": "integer", "format": "int64" } } @@ -13598,42 +14518,131 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "task" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -13697,7 +14706,21 @@ "solveTime": { "type": "integer", "format": "int64" }, "checkpoint": { "type": "integer", "format": "int64" }, "progress": { "type": "integer" }, - "state": { "type": "integer", "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] }, + "state": { + "oneOf": [ + { "const": 0, "title": "Init", "type": "integer" }, + { "const": 1, "title": "Autotune", "type": "integer" }, + { "const": 2, "title": "Running", "type": "integer" }, + { "const": 3, "title": "Paused", "type": "integer" }, + { "const": 4, "title": "Exhausted", "type": "integer" }, + { "const": 5, "title": "Cracked", "type": "integer" }, + { "const": 6, "title": "Aborted", "type": "integer" }, + { "const": 7, "title": "Quit", "type": "integer" }, + { "const": 8, "title": "Bypass", "type": "integer" }, + { "const": 9, "title": "Aborted at checkpoint", "type": "integer" }, + { "const": 10, "title": "Aborted at runtime", "type": "integer" } + ] + }, "cracked": { "type": "integer" }, "speed": { "type": "integer", "format": "int64" } } @@ -13762,42 +14785,131 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "task" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -13922,12 +15034,14 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "configSection" }, "attributes": { "type": "object", - "properties": { "configSectionId": { "type": "integer" }, "sectionName": { "type": "string" } } + "required": ["sectionName"], + "properties": { "sectionName": { "type": "string" } } } } } @@ -14053,12 +15167,14 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "configSection" }, "attributes": { "type": "object", - "properties": { "configSectionId": { "type": "integer" }, "sectionName": { "type": "string" } } + "required": ["sectionName"], + "properties": { "sectionName": { "type": "string" } } } } } @@ -14134,7 +15250,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "ConfigSectionListResponse": { @@ -14181,7 +15297,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "CrackerBinaryCreate": { @@ -14331,42 +15447,87 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinaryType" }, + "attributes": { + "type": "object", + "required": ["typeName", "isChunkingAvailable"], + "properties": { "typeName": { "type": "string" }, "isChunkingAvailable": { "type": "boolean" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -14513,42 +15674,87 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinaryType" }, + "attributes": { + "type": "object", + "required": ["typeName", "isChunkingAvailable"], + "properties": { "typeName": { "type": "string" }, "isChunkingAvailable": { "type": "boolean" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -14718,42 +15924,92 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerVersions" }, + "attributes": { + "type": "object", + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -14888,42 +16144,92 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerVersions" }, + "attributes": { + "type": "object", + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -14978,7 +16284,14 @@ "sourceData": { "type": "string" }, "filename": { "type": "string" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, "accessGroupId": { "type": "integer" } }, "required": ["sourceType", "sourceData", "filename", "isSecret", "fileType", "accessGroupId"] @@ -15000,7 +16313,14 @@ "type": "object", "properties": { "accessGroupId": { "type": "integer" }, - "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, "filename": { "type": "string" }, "isSecret": { "type": "boolean" } } @@ -15049,7 +16369,14 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -15093,12 +16420,14 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "accessGroup" }, "attributes": { "type": "object", - "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } } } } @@ -15122,7 +16451,14 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -15166,12 +16502,14 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "accessGroup" }, "attributes": { "type": "object", - "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } } } } @@ -15207,7 +16545,14 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -15258,7 +16603,14 @@ "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -15303,12 +16655,14 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "accessGroup" }, "attributes": { "type": "object", - "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } } } } @@ -15468,27 +16822,40 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "userMembers" }, "attributes": { "type": "object", - "properties": { - "id": { "type": "integer" }, - "name": { "type": "string" }, - "email": { "type": "string" }, - "passwordHash": { "type": "string" }, - "passwordSalt": { "type": "string" }, - "isValid": { "type": "boolean" }, - "isComputedPassword": { "type": "boolean" }, - "lastLoginDate": { "type": "integer", "format": "int64" }, - "registeredSince": { "type": "integer", "format": "int64" }, - "sessionLifetime": { "type": "integer" }, - "globalPermissionGroupId": { "type": "integer" }, - "yubikey": { "type": "string" }, - "otp1": { "type": "string" }, - "otp2": { "type": "string" }, - "otp3": { "type": "string" }, + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], + "properties": { + "name": { "type": "string" }, + "email": { "type": "string" }, + "isValid": { "type": "boolean" }, + "isComputedPassword": { "type": "boolean" }, + "lastLoginDate": { "type": "integer", "format": "int64" }, + "registeredSince": { "type": "integer", "format": "int64" }, + "sessionLifetime": { "type": "integer" }, + "globalPermissionGroupId": { "type": "integer" }, + "yubikey": { "type": "string" }, + "otp1": { "type": "string" }, + "otp2": { "type": "string" }, + "otp3": { "type": "string" }, "otp4": { "type": "string" } } } @@ -15618,17 +16985,30 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "userMembers" }, "attributes": { "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], "properties": { - "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, - "passwordHash": { "type": "string" }, - "passwordSalt": { "type": "string" }, "isValid": { "type": "boolean" }, "isComputedPassword": { "type": "boolean" }, "lastLoginDate": { "type": "integer", "format": "int64" }, @@ -15796,34 +17176,116 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "hashlist" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, - "hashlistId": { "type": "integer" }, - "name": { "type": "string" }, - "format": { "type": "integer", "enum": [0, 1, 2, 3] }, - "hashTypeId": { "type": "integer" }, - "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, - "cracked": { "type": "integer" }, - "isSecret": { "type": "boolean" }, - "isHexSalt": { "type": "boolean" }, - "isSalted": { "type": "boolean" }, - "accessGroupId": { "type": "integer" }, - "notes": { "type": "string" }, - "useBrain": { "type": "boolean" }, - "brainFeatures": { "type": "integer" }, - "isArchived": { "type": "boolean" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "chunk" }, + "attributes": { + "type": "object", + "required": [ + "taskId", + "skip", + "length", + "agentId", + "dispatchTime", + "solveTime", + "checkpoint", + "progress", + "state", + "cracked", + "speed" + ], + "properties": { + "taskId": { "type": "integer" }, + "skip": { "type": "integer" }, + "length": { "type": "integer" }, + "agentId": { "type": "integer" }, + "dispatchTime": { "type": "integer", "format": "int64" }, + "solveTime": { "type": "integer", "format": "int64" }, + "checkpoint": { "type": "integer", "format": "int64" }, + "progress": { "type": "integer" }, + "state": { + "oneOf": [ + { "const": 0, "title": "Init", "type": "integer" }, + { "const": 1, "title": "Autotune", "type": "integer" }, + { "const": 2, "title": "Running", "type": "integer" }, + { "const": 3, "title": "Paused", "type": "integer" }, + { "const": 4, "title": "Exhausted", "type": "integer" }, + { "const": 5, "title": "Cracked", "type": "integer" }, + { "const": 6, "title": "Aborted", "type": "integer" }, + { "const": 7, "title": "Quit", "type": "integer" }, + { "const": 8, "title": "Bypass", "type": "integer" }, + { "const": 9, "title": "Aborted at checkpoint", "type": "integer" }, + { "const": 10, "title": "Aborted at runtime", "type": "integer" } + ] + }, + "cracked": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -15946,34 +17408,116 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "hashlist" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, - "hashlistId": { "type": "integer" }, - "name": { "type": "string" }, - "format": { "type": "integer", "enum": [0, 1, 2, 3] }, - "hashTypeId": { "type": "integer" }, - "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, - "cracked": { "type": "integer" }, - "isSecret": { "type": "boolean" }, - "isHexSalt": { "type": "boolean" }, - "isSalted": { "type": "boolean" }, - "accessGroupId": { "type": "integer" }, - "notes": { "type": "string" }, - "useBrain": { "type": "boolean" }, - "brainFeatures": { "type": "integer" }, - "isArchived": { "type": "boolean" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "chunk" }, + "attributes": { + "type": "object", + "required": [ + "taskId", + "skip", + "length", + "agentId", + "dispatchTime", + "solveTime", + "checkpoint", + "progress", + "state", + "cracked", + "speed" + ], + "properties": { + "taskId": { "type": "integer" }, + "skip": { "type": "integer" }, + "length": { "type": "integer" }, + "agentId": { "type": "integer" }, + "dispatchTime": { "type": "integer", "format": "int64" }, + "solveTime": { "type": "integer", "format": "int64" }, + "checkpoint": { "type": "integer", "format": "int64" }, + "progress": { "type": "integer" }, + "state": { + "oneOf": [ + { "const": 0, "title": "Init", "type": "integer" }, + { "const": 1, "title": "Autotune", "type": "integer" }, + { "const": 2, "title": "Running", "type": "integer" }, + { "const": 3, "title": "Paused", "type": "integer" }, + { "const": 4, "title": "Exhausted", "type": "integer" }, + { "const": 5, "title": "Cracked", "type": "integer" }, + { "const": 6, "title": "Aborted", "type": "integer" }, + { "const": 7, "title": "Quit", "type": "integer" }, + { "const": 8, "title": "Bypass", "type": "integer" }, + { "const": 9, "title": "Aborted at checkpoint", "type": "integer" }, + { "const": 10, "title": "Aborted at runtime", "type": "integer" } + ] + }, + "cracked": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -16022,7 +17566,14 @@ "sourceType": { "type": "string" }, "sourceData": { "type": "string" }, "name": { "type": "string" }, - "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, "separator": { "type": "string" }, @@ -16132,7 +17683,14 @@ ], "properties": { "name": { "type": "string" }, - "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, "separator": { "type": "string" }, @@ -16275,42 +17833,191 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashes" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "hash", + "salt", + "plaintext", + "timeCracked", + "chunkId", + "isCracked", + "crackPos" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "hash": { "type": "string" }, + "salt": { "type": "string" }, + "plaintext": { "type": "string" }, + "timeCracked": { "type": "integer", "format": "int64" }, + "chunkId": { "type": "integer" }, + "isCracked": { "type": "boolean" }, + "crackPos": { "type": "integer", "format": "int64" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlists" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -16345,7 +18052,14 @@ ], "properties": { "name": { "type": "string" }, - "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, "separator": { "type": "string" }, @@ -16488,55 +18202,204 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } } - } - } - } - } - } - }, - "HashlistPostPatchResponse": { - "type": "object", - "required": ["jsonapi", "data"], - "properties": { - "jsonapi": { - "type": "object", - "required": ["version"], - "properties": { - "version": { "type": "string", "default": "1.1" }, + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashes" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "hash", + "salt", + "plaintext", + "timeCracked", + "chunkId", + "isCracked", + "crackPos" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "hash": { "type": "string" }, + "salt": { "type": "string" }, + "plaintext": { "type": "string" }, + "timeCracked": { "type": "integer", "format": "int64" }, + "chunkId": { "type": "integer" }, + "isCracked": { "type": "boolean" }, + "crackPos": { "type": "integer", "format": "int64" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlists" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + } + ], + "discriminator": { "propertyName": "type" } + } + } + } + }, + "HashlistPostPatchResponse": { + "type": "object", + "required": ["jsonapi", "data"], + "properties": { + "jsonapi": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "default": "1.1" }, "ext": { "type": "array", "items": { "type": "string" }, @@ -16570,7 +18433,14 @@ ], "properties": { "name": { "type": "string" }, - "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, "separator": { "type": "string" }, @@ -16644,7 +18514,14 @@ ], "properties": { "name": { "type": "string" }, - "format": { "type": "integer", "enum": [0, 1, 2, 3] }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, "separator": { "type": "string" }, @@ -16788,42 +18665,191 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashes" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "hash", + "salt", + "plaintext", + "timeCracked", + "chunkId", + "isCracked", + "crackPos" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "hash": { "type": "string" }, + "salt": { "type": "string" }, + "plaintext": { "type": "string" }, + "timeCracked": { "type": "integer", "format": "int64" }, + "chunkId": { "type": "integer" }, + "isCracked": { "type": "boolean" }, + "crackPos": { "type": "integer", "format": "int64" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlists" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -16951,7 +18977,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "HashTypePostPatchResponse": { @@ -17037,7 +19063,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "HealthCheckAgentResponse": { @@ -17079,7 +19105,13 @@ "properties": { "healthCheckId": { "type": "integer" }, "agentId": { "type": "integer" }, - "status": { "type": "integer", "enum": [-1, 0, 1] }, + "status": { + "oneOf": [ + { "const": -1, "title": "Failed", "type": "integer" }, + { "const": 0, "title": "Pending", "type": "integer" }, + { "const": 1, "title": "Completed", "type": "integer" } + ] + }, "cracked": { "type": "integer" }, "numGpus": { "type": "integer" }, "start": { "type": "integer", "format": "int64" }, @@ -17149,24 +19181,106 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "healthCheck" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "healthCheckId": { "type": "integer" }, - "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer", "enum": [-1, 0, 1] }, - "checkType": { "type": "integer", "enum": [0, 3200] }, - "hashtypeId": { "type": "integer" }, - "crackerBinaryId": { "type": "integer" }, - "expectedCracks": { "type": "integer" }, - "attackCmd": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheck" }, + "attributes": { + "type": "object", + "required": [ + "time", + "status", + "checkType", + "hashtypeId", + "crackerBinaryId", + "expectedCracks", + "attackCmd" + ], + "properties": { + "time": { "type": "integer", "format": "int64" }, + "status": { + "oneOf": [ + { "const": -1, "title": "Aborted", "type": "integer" }, + { "const": 0, "title": "Pending", "type": "integer" }, + { "const": 1, "title": "Completed", "type": "integer" } + ] + }, + "checkType": { + "oneOf": [ + { "const": 0, "title": "MD5", "type": "integer" }, + { "const": 3200, "title": "Bcrypt", "type": "integer" } + ] + }, + "hashtypeId": { "type": "integer" }, + "crackerBinaryId": { "type": "integer" }, + "expectedCracks": { "type": "integer" }, + "attackCmd": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -17212,7 +19326,13 @@ "properties": { "healthCheckId": { "type": "integer" }, "agentId": { "type": "integer" }, - "status": { "type": "integer", "enum": [-1, 0, 1] }, + "status": { + "oneOf": [ + { "const": -1, "title": "Failed", "type": "integer" }, + { "const": 0, "title": "Pending", "type": "integer" }, + { "const": 1, "title": "Completed", "type": "integer" } + ] + }, "cracked": { "type": "integer" }, "numGpus": { "type": "integer" }, "start": { "type": "integer", "format": "int64" }, @@ -17283,24 +19403,106 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "healthCheck" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "healthCheckId": { "type": "integer" }, - "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer", "enum": [-1, 0, 1] }, - "checkType": { "type": "integer", "enum": [0, 3200] }, - "hashtypeId": { "type": "integer" }, - "crackerBinaryId": { "type": "integer" }, - "expectedCracks": { "type": "integer" }, - "attackCmd": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheck" }, + "attributes": { + "type": "object", + "required": [ + "time", + "status", + "checkType", + "hashtypeId", + "crackerBinaryId", + "expectedCracks", + "attackCmd" + ], + "properties": { + "time": { "type": "integer", "format": "int64" }, + "status": { + "oneOf": [ + { "const": -1, "title": "Aborted", "type": "integer" }, + { "const": 0, "title": "Pending", "type": "integer" }, + { "const": 1, "title": "Completed", "type": "integer" } + ] + }, + "checkType": { + "oneOf": [ + { "const": 0, "title": "MD5", "type": "integer" }, + { "const": 3200, "title": "Bcrypt", "type": "integer" } + ] + }, + "hashtypeId": { "type": "integer" }, + "crackerBinaryId": { "type": "integer" }, + "expectedCracks": { "type": "integer" }, + "attackCmd": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -17345,7 +19547,12 @@ "attributes": { "type": "object", "properties": { - "checkType": { "type": "integer", "enum": [0, 3200] }, + "checkType": { + "oneOf": [ + { "const": 0, "title": "MD5", "type": "integer" }, + { "const": 3200, "title": "Bcrypt", "type": "integer" } + ] + }, "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" } }, @@ -17366,7 +19573,14 @@ "type": { "type": "string", "const": "healthCheck" }, "attributes": { "type": "object", - "properties": { "checkType": { "type": "integer", "enum": [0, 3200] } } + "properties": { + "checkType": { + "oneOf": [ + { "const": 0, "title": "MD5", "type": "integer" }, + { "const": 3200, "title": "Bcrypt", "type": "integer" } + ] + } + } } } } @@ -17418,8 +19632,19 @@ ], "properties": { "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer", "enum": [-1, 0, 1] }, - "checkType": { "type": "integer", "enum": [0, 3200] }, + "status": { + "oneOf": [ + { "const": -1, "title": "Aborted", "type": "integer" }, + { "const": 0, "title": "Pending", "type": "integer" }, + { "const": 1, "title": "Completed", "type": "integer" } + ] + }, + "checkType": { + "oneOf": [ + { "const": 0, "title": "MD5", "type": "integer" }, + { "const": 3200, "title": "Bcrypt", "type": "integer" } + ] + }, "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" }, "expectedCracks": { "type": "integer" }, @@ -17516,25 +19741,81 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "healthCheckAgents" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "healthCheckAgentId": { "type": "integer" }, - "healthCheckId": { "type": "integer" }, - "agentId": { "type": "integer" }, - "status": { "type": "integer", "enum": [-1, 0, 1] }, - "cracked": { "type": "integer" }, - "numGpus": { "type": "integer" }, - "start": { "type": "integer", "format": "int64" }, - "end": { "type": "integer", "format": "int64" }, - "errors": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinary" }, + "attributes": { + "type": "object", + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheckAgents" }, + "attributes": { + "type": "object", + "required": [ + "healthCheckId", + "agentId", + "status", + "cracked", + "numGpus", + "start", + "end", + "errors" + ], + "properties": { + "healthCheckId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "status": { + "oneOf": [ + { "const": -1, "title": "Failed", "type": "integer" }, + { "const": 0, "title": "Pending", "type": "integer" }, + { "const": 1, "title": "Completed", "type": "integer" } + ] + }, + "cracked": { "type": "integer" }, + "numGpus": { "type": "integer" }, + "start": { "type": "integer", "format": "int64" }, + "end": { "type": "integer", "format": "int64" }, + "errors": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -17574,8 +19855,19 @@ ], "properties": { "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer", "enum": [-1, 0, 1] }, - "checkType": { "type": "integer", "enum": [0, 3200] }, + "status": { + "oneOf": [ + { "const": -1, "title": "Aborted", "type": "integer" }, + { "const": 0, "title": "Pending", "type": "integer" }, + { "const": 1, "title": "Completed", "type": "integer" } + ] + }, + "checkType": { + "oneOf": [ + { "const": 0, "title": "MD5", "type": "integer" }, + { "const": 3200, "title": "Bcrypt", "type": "integer" } + ] + }, "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" }, "expectedCracks": { "type": "integer" }, @@ -17634,9 +19926,20 @@ ], "properties": { "time": { "type": "integer", "format": "int64" }, - "status": { "type": "integer", "enum": [-1, 0, 1] }, - "checkType": { "type": "integer", "enum": [0, 3200] }, - "hashtypeId": { "type": "integer" }, + "status": { + "oneOf": [ + { "const": -1, "title": "Aborted", "type": "integer" }, + { "const": 0, "title": "Pending", "type": "integer" }, + { "const": 1, "title": "Completed", "type": "integer" } + ] + }, + "checkType": { + "oneOf": [ + { "const": 0, "title": "MD5", "type": "integer" }, + { "const": 3200, "title": "Bcrypt", "type": "integer" } + ] + }, + "hashtypeId": { "type": "integer" }, "crackerBinaryId": { "type": "integer" }, "expectedCracks": { "type": "integer" }, "attackCmd": { "type": "string" } @@ -17733,25 +20036,81 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "healthCheckAgents" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "healthCheckAgentId": { "type": "integer" }, - "healthCheckId": { "type": "integer" }, - "agentId": { "type": "integer" }, - "status": { "type": "integer", "enum": [-1, 0, 1] }, - "cracked": { "type": "integer" }, - "numGpus": { "type": "integer" }, - "start": { "type": "integer", "format": "int64" }, - "end": { "type": "integer", "format": "int64" }, - "errors": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinary" }, + "attributes": { + "type": "object", + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "healthCheckAgents" }, + "attributes": { + "type": "object", + "required": [ + "healthCheckId", + "agentId", + "status", + "cracked", + "numGpus", + "start", + "end", + "errors" + ], + "properties": { + "healthCheckId": { "type": "integer" }, + "agentId": { "type": "integer" }, + "status": { + "oneOf": [ + { "const": -1, "title": "Failed", "type": "integer" }, + { "const": 0, "title": "Pending", "type": "integer" }, + { "const": 1, "title": "Completed", "type": "integer" } + ] + }, + "cracked": { "type": "integer" }, + "numGpus": { "type": "integer" }, + "start": { "type": "integer", "format": "int64" }, + "end": { "type": "integer", "format": "int64" }, + "errors": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -17855,9 +20214,21 @@ "type": "object", "required": ["issuer", "issuerId", "level", "message", "time"], "properties": { - "issuer": { "type": "string", "enum": ["API", "User"] }, + "issuer": { + "oneOf": [ + { "const": "API", "title": "API", "type": "string" }, + { "const": "User", "title": "User", "type": "string" } + ] + }, "issuerId": { "type": "string" }, - "level": { "type": "string", "enum": ["warning", "error", "fatal error", "information"] }, + "level": { + "oneOf": [ + { "const": "warning", "title": "Warning", "type": "string" }, + { "const": "error", "title": "Error", "type": "string" }, + { "const": "fatal error", "title": "Fatal error", "type": "string" }, + { "const": "information", "title": "Information", "type": "string" } + ] + }, "message": { "type": "string" }, "time": { "type": "integer", "format": "int64" } } @@ -17865,7 +20236,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "LogEntryPostPatchResponse": { @@ -17894,9 +20265,21 @@ "type": "object", "required": ["issuer", "issuerId", "level", "message", "time"], "properties": { - "issuer": { "type": "string", "enum": ["API", "User"] }, + "issuer": { + "oneOf": [ + { "const": "API", "title": "API", "type": "string" }, + { "const": "User", "title": "User", "type": "string" } + ] + }, "issuerId": { "type": "string" }, - "level": { "type": "string", "enum": ["warning", "error", "fatal error", "information"] }, + "level": { + "oneOf": [ + { "const": "warning", "title": "Warning", "type": "string" }, + { "const": "error", "title": "Error", "type": "string" }, + { "const": "fatal error", "title": "Fatal error", "type": "string" }, + { "const": "information", "title": "Information", "type": "string" } + ] + }, "message": { "type": "string" }, "time": { "type": "integer", "format": "int64" } } @@ -17944,9 +20327,21 @@ "type": "object", "required": ["issuer", "issuerId", "level", "message", "time"], "properties": { - "issuer": { "type": "string", "enum": ["API", "User"] }, + "issuer": { + "oneOf": [ + { "const": "API", "title": "API", "type": "string" }, + { "const": "User", "title": "User", "type": "string" } + ] + }, "issuerId": { "type": "string" }, - "level": { "type": "string", "enum": ["warning", "error", "fatal error", "information"] }, + "level": { + "oneOf": [ + { "const": "warning", "title": "Warning", "type": "string" }, + { "const": "error", "title": "Error", "type": "string" }, + { "const": "fatal error", "title": "Fatal error", "type": "string" }, + { "const": "information", "title": "Information", "type": "string" } + ] + }, "message": { "type": "string" }, "time": { "type": "integer", "format": "int64" } } @@ -17955,7 +20350,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "NotificationSettingCreate": { @@ -17971,27 +20366,32 @@ "type": "object", "properties": { "actionFilter": { "type": "string" }, - "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, + "action": { + "oneOf": [ + { "const": "createNotification", "title": "Create notification", "type": "string" }, + { "const": "setActive", "title": "Set active", "type": "string" }, + { "const": "deleteNotification", "title": "Delete notification", "type": "string" } + ] + }, "notification": { - "type": "string", - "enum": [ - "taskComplete", - "agentError", - "ownAgentError", - "logError", - "newTask", - "newHashlist", - "hashlistAllCracked", - "hashlistCrackedHash", - "userCreated", - "userDeleted", - "userLoginFailed", - "logWarn", - "logFatal", - "newAgent", - "deleteTask", - "deleteHashlist", - "deleteAgent" + "oneOf": [ + { "const": "taskComplete", "title": "Task completed", "type": "string" }, + { "const": "agentError", "title": "Agent error", "type": "string" }, + { "const": "ownAgentError", "title": "Own agent error", "type": "string" }, + { "const": "logError", "title": "Log error", "type": "string" }, + { "const": "newTask", "title": "New task", "type": "string" }, + { "const": "newHashlist", "title": "New hashlist", "type": "string" }, + { "const": "hashlistAllCracked", "title": "Hashlist all cracked", "type": "string" }, + { "const": "hashlistCrackedHash", "title": "Hashlist cracked hash", "type": "string" }, + { "const": "userCreated", "title": "User created", "type": "string" }, + { "const": "userDeleted", "title": "User deleted", "type": "string" }, + { "const": "userLoginFailed", "title": "User login failed", "type": "string" }, + { "const": "logWarn", "title": "Log warning", "type": "string" }, + { "const": "logFatal", "title": "Log fatal", "type": "string" }, + { "const": "newAgent", "title": "New agent", "type": "string" }, + { "const": "deleteTask", "title": "Delete task", "type": "string" }, + { "const": "deleteHashlist", "title": "Delete hashlist", "type": "string" }, + { "const": "deleteAgent", "title": "Delete agent", "type": "string" } ] }, "receiver": { "type": "string" } @@ -18014,28 +20414,33 @@ "attributes": { "type": "object", "properties": { - "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, + "action": { + "oneOf": [ + { "const": "createNotification", "title": "Create notification", "type": "string" }, + { "const": "setActive", "title": "Set active", "type": "string" }, + { "const": "deleteNotification", "title": "Delete notification", "type": "string" } + ] + }, "isActive": { "type": "boolean" }, "notification": { - "type": "string", - "enum": [ - "taskComplete", - "agentError", - "ownAgentError", - "logError", - "newTask", - "newHashlist", - "hashlistAllCracked", - "hashlistCrackedHash", - "userCreated", - "userDeleted", - "userLoginFailed", - "logWarn", - "logFatal", - "newAgent", - "deleteTask", - "deleteHashlist", - "deleteAgent" + "oneOf": [ + { "const": "taskComplete", "title": "Task completed", "type": "string" }, + { "const": "agentError", "title": "Agent error", "type": "string" }, + { "const": "ownAgentError", "title": "Own agent error", "type": "string" }, + { "const": "logError", "title": "Log error", "type": "string" }, + { "const": "newTask", "title": "New task", "type": "string" }, + { "const": "newHashlist", "title": "New hashlist", "type": "string" }, + { "const": "hashlistAllCracked", "title": "Hashlist all cracked", "type": "string" }, + { "const": "hashlistCrackedHash", "title": "Hashlist cracked hash", "type": "string" }, + { "const": "userCreated", "title": "User created", "type": "string" }, + { "const": "userDeleted", "title": "User deleted", "type": "string" }, + { "const": "userLoginFailed", "title": "User login failed", "type": "string" }, + { "const": "logWarn", "title": "Log warning", "type": "string" }, + { "const": "logFatal", "title": "Log fatal", "type": "string" }, + { "const": "newAgent", "title": "New agent", "type": "string" }, + { "const": "deleteTask", "title": "Delete task", "type": "string" }, + { "const": "deleteHashlist", "title": "Delete hashlist", "type": "string" }, + { "const": "deleteAgent", "title": "Delete agent", "type": "string" } ] }, "receiver": { "type": "string" } @@ -18082,28 +20487,33 @@ "type": "object", "required": ["action", "objectId", "notification", "userId", "receiver", "isActive"], "properties": { - "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, + "action": { + "oneOf": [ + { "const": "createNotification", "title": "Create notification", "type": "string" }, + { "const": "setActive", "title": "Set active", "type": "string" }, + { "const": "deleteNotification", "title": "Delete notification", "type": "string" } + ] + }, "objectId": { "type": "integer" }, "notification": { - "type": "string", - "enum": [ - "taskComplete", - "agentError", - "ownAgentError", - "logError", - "newTask", - "newHashlist", - "hashlistAllCracked", - "hashlistCrackedHash", - "userCreated", - "userDeleted", - "userLoginFailed", - "logWarn", - "logFatal", - "newAgent", - "deleteTask", - "deleteHashlist", - "deleteAgent" + "oneOf": [ + { "const": "taskComplete", "title": "Task completed", "type": "string" }, + { "const": "agentError", "title": "Agent error", "type": "string" }, + { "const": "ownAgentError", "title": "Own agent error", "type": "string" }, + { "const": "logError", "title": "Log error", "type": "string" }, + { "const": "newTask", "title": "New task", "type": "string" }, + { "const": "newHashlist", "title": "New hashlist", "type": "string" }, + { "const": "hashlistAllCracked", "title": "Hashlist all cracked", "type": "string" }, + { "const": "hashlistCrackedHash", "title": "Hashlist cracked hash", "type": "string" }, + { "const": "userCreated", "title": "User created", "type": "string" }, + { "const": "userDeleted", "title": "User deleted", "type": "string" }, + { "const": "userLoginFailed", "title": "User login failed", "type": "string" }, + { "const": "logWarn", "title": "Log warning", "type": "string" }, + { "const": "logFatal", "title": "Log fatal", "type": "string" }, + { "const": "newAgent", "title": "New agent", "type": "string" }, + { "const": "deleteTask", "title": "Delete task", "type": "string" }, + { "const": "deleteHashlist", "title": "Delete hashlist", "type": "string" }, + { "const": "deleteAgent", "title": "Delete agent", "type": "string" } ] }, "userId": { "type": "integer" }, @@ -18147,17 +20557,30 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "user" }, "attributes": { "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], "properties": { - "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, - "passwordHash": { "type": "string" }, - "passwordSalt": { "type": "string" }, "isValid": { "type": "boolean" }, "isComputedPassword": { "type": "boolean" }, "lastLoginDate": { "type": "integer", "format": "int64" }, @@ -18202,28 +20625,33 @@ "type": "object", "required": ["action", "objectId", "notification", "userId", "receiver", "isActive"], "properties": { - "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, + "action": { + "oneOf": [ + { "const": "createNotification", "title": "Create notification", "type": "string" }, + { "const": "setActive", "title": "Set active", "type": "string" }, + { "const": "deleteNotification", "title": "Delete notification", "type": "string" } + ] + }, "objectId": { "type": "integer" }, "notification": { - "type": "string", - "enum": [ - "taskComplete", - "agentError", - "ownAgentError", - "logError", - "newTask", - "newHashlist", - "hashlistAllCracked", - "hashlistCrackedHash", - "userCreated", - "userDeleted", - "userLoginFailed", - "logWarn", - "logFatal", - "newAgent", - "deleteTask", - "deleteHashlist", - "deleteAgent" + "oneOf": [ + { "const": "taskComplete", "title": "Task completed", "type": "string" }, + { "const": "agentError", "title": "Agent error", "type": "string" }, + { "const": "ownAgentError", "title": "Own agent error", "type": "string" }, + { "const": "logError", "title": "Log error", "type": "string" }, + { "const": "newTask", "title": "New task", "type": "string" }, + { "const": "newHashlist", "title": "New hashlist", "type": "string" }, + { "const": "hashlistAllCracked", "title": "Hashlist all cracked", "type": "string" }, + { "const": "hashlistCrackedHash", "title": "Hashlist cracked hash", "type": "string" }, + { "const": "userCreated", "title": "User created", "type": "string" }, + { "const": "userDeleted", "title": "User deleted", "type": "string" }, + { "const": "userLoginFailed", "title": "User login failed", "type": "string" }, + { "const": "logWarn", "title": "Log warning", "type": "string" }, + { "const": "logFatal", "title": "Log fatal", "type": "string" }, + { "const": "newAgent", "title": "New agent", "type": "string" }, + { "const": "deleteTask", "title": "Delete task", "type": "string" }, + { "const": "deleteHashlist", "title": "Delete hashlist", "type": "string" }, + { "const": "deleteAgent", "title": "Delete agent", "type": "string" } ] }, "userId": { "type": "integer" }, @@ -18274,28 +20702,33 @@ "type": "object", "required": ["action", "objectId", "notification", "userId", "receiver", "isActive"], "properties": { - "action": { "type": "string", "enum": ["createNotification", "setActive", "deleteNotification"] }, + "action": { + "oneOf": [ + { "const": "createNotification", "title": "Create notification", "type": "string" }, + { "const": "setActive", "title": "Set active", "type": "string" }, + { "const": "deleteNotification", "title": "Delete notification", "type": "string" } + ] + }, "objectId": { "type": "integer" }, "notification": { - "type": "string", - "enum": [ - "taskComplete", - "agentError", - "ownAgentError", - "logError", - "newTask", - "newHashlist", - "hashlistAllCracked", - "hashlistCrackedHash", - "userCreated", - "userDeleted", - "userLoginFailed", - "logWarn", - "logFatal", - "newAgent", - "deleteTask", - "deleteHashlist", - "deleteAgent" + "oneOf": [ + { "const": "taskComplete", "title": "Task completed", "type": "string" }, + { "const": "agentError", "title": "Agent error", "type": "string" }, + { "const": "ownAgentError", "title": "Own agent error", "type": "string" }, + { "const": "logError", "title": "Log error", "type": "string" }, + { "const": "newTask", "title": "New task", "type": "string" }, + { "const": "newHashlist", "title": "New hashlist", "type": "string" }, + { "const": "hashlistAllCracked", "title": "Hashlist all cracked", "type": "string" }, + { "const": "hashlistCrackedHash", "title": "Hashlist cracked hash", "type": "string" }, + { "const": "userCreated", "title": "User created", "type": "string" }, + { "const": "userDeleted", "title": "User deleted", "type": "string" }, + { "const": "userLoginFailed", "title": "User login failed", "type": "string" }, + { "const": "logWarn", "title": "Log warning", "type": "string" }, + { "const": "logFatal", "title": "Log fatal", "type": "string" }, + { "const": "newAgent", "title": "New agent", "type": "string" }, + { "const": "deleteTask", "title": "Delete task", "type": "string" }, + { "const": "deleteHashlist", "title": "Delete hashlist", "type": "string" }, + { "const": "deleteAgent", "title": "Delete agent", "type": "string" } ] }, "userId": { "type": "integer" }, @@ -18340,17 +20773,30 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "user" }, "attributes": { "type": "object", + "required": [ + "name", + "email", + "isValid", + "isComputedPassword", + "lastLoginDate", + "registeredSince", + "sessionLifetime", + "globalPermissionGroupId", + "yubikey", + "otp1", + "otp2", + "otp3", + "otp4" + ], "properties": { - "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" }, - "passwordHash": { "type": "string" }, - "passwordSalt": { "type": "string" }, "isValid": { "type": "boolean" }, "isComputedPassword": { "type": "boolean" }, "lastLoginDate": { "type": "integer", "format": "int64" }, @@ -18488,7 +20934,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "PreprocessorPostPatchResponse": { @@ -18580,7 +21026,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "PreTaskCreate": { @@ -18757,19 +21203,36 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "pretaskFiles" }, "attributes": { "type": "object", + "required": [ + "sourceType", + "sourceData", + "filename", + "size", + "isSecret", + "fileType", + "accessGroupId", + "lineCount" + ], "properties": { "sourceType": { "type": "string" }, "sourceData": { "type": "string" }, - "fileId": { "type": "integer" }, "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -18939,19 +21402,36 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "pretaskFiles" }, "attributes": { "type": "object", + "required": [ + "sourceType", + "sourceData", + "filename", + "size", + "isSecret", + "fileType", + "accessGroupId", + "lineCount" + ], "properties": { "sourceType": { "type": "string" }, "sourceData": { "type": "string" }, - "fileId": { "type": "integer" }, "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, - "fileType": { "type": "integer", "enum": [0, 1, 2, 100] }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, "accessGroupId": { "type": "integer" }, "lineCount": { "type": "integer", "format": "int64" } } @@ -19097,42 +21577,131 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "task" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -19242,42 +21811,131 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "task" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "agent" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -19411,14 +22069,29 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "pretasks" }, "attributes": { "type": "object", + "required": [ + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "priority", + "maxAgents", + "isMaskImport", + "crackerBinaryTypeId" + ], "properties": { "files": { "type": "array", "items": { "type": "integer" } }, - "pretaskId": { "type": "integer" }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -19487,14 +22160,29 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "pretasks" }, "attributes": { "type": "object", + "required": [ + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "priority", + "maxAgents", + "isMaskImport", + "crackerBinaryTypeId" + ], "properties": { "files": { "type": "array", "items": { "type": "integer" } }, - "pretaskId": { "type": "integer" }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -19620,14 +22308,29 @@ "type": "array", "items": { "type": "object", + "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, "type": { "type": "string", "const": "pretasks" }, "attributes": { "type": "object", - "properties": { + "required": [ + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "priority", + "maxAgents", + "isMaskImport", + "crackerBinaryTypeId" + ], + "properties": { "files": { "type": "array", "items": { "type": "integer" } }, - "pretaskId": { "type": "integer" }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -19860,7 +22563,14 @@ "activeAgents": { "type": "integer" }, "dispatched": { "type": "string" }, "searched": { "type": "string" }, - "status": { "type": "integer", "enum": [0, 1, 2, 3] }, + "status": { + "oneOf": [ + { "const": 0, "title": "init", "type": "integer" }, + { "const": 1, "title": "running", "type": "integer" }, + { "const": 2, "title": "idle", "type": "integer" }, + { "const": 3, "title": "completed", "type": "integer" } + ] + }, "estimatedTime": { "type": "integer" }, "timeSpent": { "type": "integer" }, "currentSpeed": { "type": "integer" }, @@ -20022,21 +22732,209 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "speeds" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "speedId": { "type": "integer" }, - "agentId": { "type": "integer" }, - "taskId": { "type": "integer" }, - "speed": { "type": "integer", "format": "int64" }, - "time": { "type": "integer", "format": "int64" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinary" }, + "attributes": { + "type": "object", + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinaryType" }, + "attributes": { + "type": "object", + "required": ["typeName", "isChunkingAvailable"], + "properties": { "typeName": { "type": "string" }, "isChunkingAvailable": { "type": "boolean" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "assignedAgents" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "files" }, + "attributes": { + "type": "object", + "required": [ + "sourceType", + "sourceData", + "filename", + "size", + "isSecret", + "fileType", + "accessGroupId", + "lineCount" + ], + "properties": { + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "filename": { "type": "string" }, + "size": { "type": "integer", "format": "int64" }, + "isSecret": { "type": "boolean" }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, + "accessGroupId": { "type": "integer" }, + "lineCount": { "type": "integer", "format": "int64" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "speeds" }, + "attributes": { + "type": "object", + "required": ["agentId", "taskId", "speed", "time"], + "properties": { + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" }, + "time": { "type": "integer", "format": "int64" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -20117,7 +23015,14 @@ "activeAgents": { "type": "integer" }, "dispatched": { "type": "string" }, "searched": { "type": "string" }, - "status": { "type": "integer", "enum": [0, 1, 2, 3] }, + "status": { + "oneOf": [ + { "const": 0, "title": "init", "type": "integer" }, + { "const": 1, "title": "running", "type": "integer" }, + { "const": 2, "title": "idle", "type": "integer" }, + { "const": 3, "title": "completed", "type": "integer" } + ] + }, "estimatedTime": { "type": "integer" }, "timeSpent": { "type": "integer" }, "currentSpeed": { "type": "integer" }, @@ -20217,7 +23122,14 @@ "activeAgents": { "type": "integer" }, "dispatched": { "type": "string" }, "searched": { "type": "string" }, - "status": { "type": "integer", "enum": [0, 1, 2, 3] }, + "status": { + "oneOf": [ + { "const": 0, "title": "init", "type": "integer" }, + { "const": 1, "title": "running", "type": "integer" }, + { "const": 2, "title": "idle", "type": "integer" }, + { "const": 3, "title": "completed", "type": "integer" } + ] + }, "estimatedTime": { "type": "integer" }, "timeSpent": { "type": "integer" }, "currentSpeed": { "type": "integer" }, @@ -20380,21 +23292,209 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "speeds" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "speedId": { "type": "integer" }, - "agentId": { "type": "integer" }, - "taskId": { "type": "integer" }, - "speed": { "type": "integer", "format": "int64" }, - "time": { "type": "integer", "format": "int64" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinary" }, + "attributes": { + "type": "object", + "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], + "properties": { + "crackerBinaryTypeId": { "type": "integer" }, + "version": { "type": "string" }, + "downloadUrl": { "type": "string" }, + "binaryName": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "crackerBinaryType" }, + "attributes": { + "type": "object", + "required": ["typeName", "isChunkingAvailable"], + "properties": { "typeName": { "type": "string" }, "isChunkingAvailable": { "type": "boolean" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "assignedAgents" }, + "attributes": { + "type": "object", + "required": [ + "agentName", + "uid", + "os", + "devices", + "cmdPars", + "ignoreErrors", + "isActive", + "isTrusted", + "token", + "lastAct", + "lastTime", + "lastIp", + "userId", + "cpuOnly", + "clientSignature" + ], + "properties": { + "agentName": { "type": "string" }, + "uid": { "type": "string" }, + "os": { + "oneOf": [ + { "const": 0, "title": "Linux", "type": "integer" }, + { "const": 1, "title": "Windows", "type": "integer" }, + { "const": 2, "title": "macOS", "type": "integer" } + ] + }, + "devices": { "type": "string" }, + "cmdPars": { "type": "string" }, + "ignoreErrors": { + "oneOf": [ + { "const": 0, "title": "Deactivate agent on error", "type": "integer" }, + { "const": 1, "title": "Keep agent running, but save errors", "type": "integer" }, + { "const": 2, "title": "Keep agent running and discard errors", "type": "integer" } + ] + }, + "isActive": { "type": "boolean" }, + "isTrusted": { "type": "boolean" }, + "token": { "type": "string" }, + "lastAct": { "type": "string" }, + "lastTime": { "type": "integer", "format": "int64" }, + "lastIp": { "type": "string" }, + "userId": { "type": "integer" }, + "cpuOnly": { "type": "boolean" }, + "clientSignature": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "files" }, + "attributes": { + "type": "object", + "required": [ + "sourceType", + "sourceData", + "filename", + "size", + "isSecret", + "fileType", + "accessGroupId", + "lineCount" + ], + "properties": { + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "filename": { "type": "string" }, + "size": { "type": "integer", "format": "int64" }, + "isSecret": { "type": "boolean" }, + "fileType": { + "oneOf": [ + { "const": 0, "title": "Wordlist", "type": "integer" }, + { "const": 1, "title": "Rule", "type": "integer" }, + { "const": 2, "title": "Other", "type": "integer" }, + { "const": 100, "title": "Temporary", "type": "integer" } + ] + }, + "accessGroupId": { "type": "integer" }, + "lineCount": { "type": "integer", "format": "int64" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "speeds" }, + "attributes": { + "type": "object", + "required": ["agentId", "taskId", "speed", "time"], + "properties": { + "agentId": { "type": "integer" }, + "taskId": { "type": "integer" }, + "speed": { "type": "integer", "format": "int64" }, + "time": { "type": "integer", "format": "int64" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -20504,7 +23604,12 @@ "properties": { "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "taskType": { "type": "integer", "enum": [0, 1] }, + "taskType": { + "oneOf": [ + { "const": 0, "title": "TaskType is Task", "type": "integer" }, + { "const": 1, "title": "TaskType is Supertask", "type": "integer" } + ] + }, "hashlistId": { "type": "integer" }, "accessGroupId": { "type": "integer" }, "taskWrapperName": { "type": "string" }, @@ -20644,42 +23749,225 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -20709,7 +23997,12 @@ "properties": { "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "taskType": { "type": "integer", "enum": [0, 1] }, + "taskType": { + "oneOf": [ + { "const": 0, "title": "TaskType is Task", "type": "integer" }, + { "const": 1, "title": "TaskType is Supertask", "type": "integer" } + ] + }, "hashlistId": { "type": "integer" }, "accessGroupId": { "type": "integer" }, "taskWrapperName": { "type": "string" }, @@ -20849,42 +24142,225 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -20926,7 +24402,12 @@ "properties": { "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "taskType": { "type": "integer", "enum": [0, 1] }, + "taskType": { + "oneOf": [ + { "const": 0, "title": "TaskType is Task", "type": "integer" }, + { "const": 1, "title": "TaskType is Supertask", "type": "integer" } + ] + }, "hashlistId": { "type": "integer" }, "accessGroupId": { "type": "integer" }, "taskWrapperName": { "type": "string" }, @@ -20988,7 +24469,12 @@ "properties": { "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "taskType": { "type": "integer", "enum": [0, 1] }, + "taskType": { + "oneOf": [ + { "const": 0, "title": "TaskType is Task", "type": "integer" }, + { "const": 1, "title": "TaskType is Supertask", "type": "integer" } + ] + }, "hashlistId": { "type": "integer" }, "accessGroupId": { "type": "integer" }, "taskWrapperName": { "type": "string" }, @@ -21129,42 +24615,225 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { + "oneOf": [ + { "type": "object", + "required": ["id", "type", "attributes"], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskId": { "type": "integer" }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroup" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashlist" }, + "attributes": { + "type": "object", + "required": [ + "hashlistSeperator", + "sourceType", + "sourceData", + "name", + "format", + "hashTypeId", + "hashCount", + "separator", + "cracked", + "isSecret", + "isHexSalt", + "isSalted", + "accessGroupId", + "notes", + "useBrain", + "brainFeatures", + "isArchived" + ], + "properties": { + "hashlistSeperator": { "type": "string" }, + "sourceType": { "type": "string" }, + "sourceData": { "type": "string" }, + "name": { "type": "string" }, + "format": { + "oneOf": [ + { "const": 0, "title": "Hashlist format is PLAIN", "type": "integer" }, + { "const": 1, "title": "Hashlist format is WPA", "type": "integer" }, + { "const": 2, "title": "Hashlist format is BINARY", "type": "integer" }, + { "const": 3, "title": "Hashlist is SUPERHASHLIST", "type": "integer" } + ] + }, + "hashTypeId": { "type": "integer" }, + "hashCount": { "type": "integer" }, + "separator": { "type": "string" }, + "cracked": { "type": "integer" }, + "isSecret": { "type": "boolean" }, + "isHexSalt": { "type": "boolean" }, + "isSalted": { "type": "boolean" }, + "accessGroupId": { "type": "integer" }, + "notes": { "type": "string" }, + "useBrain": { "type": "boolean" }, + "brainFeatures": { "type": "integer" }, + "isArchived": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "hashType" }, + "attributes": { + "type": "object", + "required": ["description", "isSalted", "isSlowHash"], + "properties": { + "description": { "type": "string" }, + "isSalted": { "type": "boolean" }, + "isSlowHash": { "type": "boolean" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "task" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "tasks" }, + "attributes": { + "type": "object", + "required": [ + "hashlistId", + "files", + "taskName", + "attackCmd", + "chunkTime", + "statusTimer", + "keyspace", + "keyspaceProgress", + "priority", + "maxAgents", + "color", + "isSmall", + "isCpuTask", + "useNewBench", + "skipKeyspace", + "crackerBinaryId", + "crackerBinaryTypeId", + "taskWrapperId", + "isArchived", + "notes", + "staticChunks", + "chunkSize", + "forcePipe", + "preprocessorId", + "preprocessorCommand" + ], + "properties": { + "hashlistId": { "type": "integer" }, + "files": { "type": "array", "items": { "type": "integer" } }, + "taskName": { "type": "string" }, + "attackCmd": { "type": "string" }, + "chunkTime": { "type": "integer" }, + "statusTimer": { "type": "integer" }, + "keyspace": { "type": "integer", "format": "int64" }, + "keyspaceProgress": { "type": "integer", "format": "int64" }, + "priority": { "type": "integer" }, + "maxAgents": { "type": "integer" }, + "color": { "type": "string" }, + "isSmall": { "type": "boolean" }, + "isCpuTask": { "type": "boolean" }, + "useNewBench": { "type": "boolean" }, + "skipKeyspace": { "type": "integer", "format": "int64" }, + "crackerBinaryId": { "type": "integer" }, + "crackerBinaryTypeId": { "type": "integer" }, + "taskWrapperId": { "type": "integer" }, + "isArchived": { "type": "boolean" }, + "notes": { "type": "string" }, + "staticChunks": { "type": "integer" }, + "chunkSize": { "type": "integer", "format": "int64" }, + "forcePipe": { "type": "boolean" }, + "preprocessorId": { "type": "integer" }, + "preprocessorCommand": { "type": "string" } + } + } } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -21376,15 +25045,38 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "accessGroups" }, - "attributes": { + "oneOf": [ + { "type": "object", - "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "globalPermissionGroup" }, + "attributes": { + "type": "object", + "required": ["name", "permissions"], + "properties": { + "name": { "type": "string" }, + "permissions": { "type": "object", "additionalProperties": { "type": "boolean" } } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroups" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -21580,15 +25272,38 @@ "included": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "accessGroups" }, - "attributes": { + "oneOf": [ + { "type": "object", - "properties": { "accessGroupId": { "type": "integer" }, "groupName": { "type": "string" } } + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "globalPermissionGroup" }, + "attributes": { + "type": "object", + "required": ["name", "permissions"], + "properties": { + "name": { "type": "string" }, + "permissions": { "type": "object", "additionalProperties": { "type": "boolean" } } + } + } + } + }, + { + "type": "object", + "required": ["id", "type", "attributes"], + "properties": { + "id": { "type": "integer" }, + "type": { "type": "string", "const": "accessGroups" }, + "attributes": { + "type": "object", + "required": ["groupName"], + "properties": { "groupName": { "type": "string" } } + } + } } - } + ], + "discriminator": { "propertyName": "type" } } } } @@ -21700,7 +25415,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "VoucherPostPatchResponse": { @@ -21778,7 +25493,7 @@ } }, "relationships": { "type": "object", "required": [], "properties": {} }, - "included": { "type": "array", "items": { "type": "object", "properties": {} } } + "included": { "type": "array", "items": { "oneOf": [], "discriminator": { "propertyName": "type" } } } } }, "AbortChunkHelperAPI": { "type": "object", "properties": { "chunkId": { "type": "integer" } } }, diff --git a/src/app/agents/edit-agent/edit-agent.component.ts b/src/app/agents/edit-agent/edit-agent.component.ts index 57eabb62d..a119218ba 100644 --- a/src/app/agents/edit-agent/edit-agent.component.ts +++ b/src/app/agents/edit-agent/edit-agent.component.ts @@ -26,6 +26,8 @@ import { UIConfigService } from '@services/shared/storage.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; import { zAgentResponse, zChunkListResponse, zTaskListResponse, zUserListResponse } from '@generated/api/zod.gen'; +import { zJAgent, zJChunk } from '@models/schemas'; +import { z } from 'zod'; import { EditAgentForm, @@ -186,7 +188,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { }) ); - const agent: JAgent = this.serializer.deserialize(response, zAgentResponse); + const agent = zJAgent.parse(this.serializer.deserialize(response, zAgentResponse)) as JAgent; this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); if (this.agentRoleService.hasRole('readAssignment')) { @@ -209,7 +211,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { if (httpErr?.status && httpErr.status >= 500) { const response = await firstValueFrom(this.gs.get(SERV.AGENTS, this.editedAgentIndex)); - const agent: JAgent = this.serializer.deserialize(response, zAgentResponse); + const agent = zJAgent.parse(this.serializer.deserialize(response, zAgentResponse)) as JAgent; this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); return; @@ -304,7 +306,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { .create(); const chunksSub$ = this.gs.getAll(SERV.CHUNKS, chunkRequestParams).subscribe((response: ResponseWrapper) => { - const chunks: JChunk[] = this.serializer.deserialize(response, zChunkListResponse); + const chunks = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)) as JChunk[]; const tasksSub$ = this.gs.getAll(SERV.TASKS).subscribe((tasksResponse: ResponseWrapper) => { const tasks: JTask[] = this.serializer.deserialize(tasksResponse, zTaskListResponse); diff --git a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts index f9a81bba4..b9d227195 100644 --- a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts +++ b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts @@ -15,6 +15,7 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { UISettingsUtilityClass } from '@src/app/shared/utils/config'; import { formatUnixTimestamp } from '@src/app/shared/utils/datetime'; import { zHealthCheckResponse } from '@generated/api/zod.gen'; +import { zJHealthCheck } from '@models/schemas'; @Component({ selector: 'app-view-health-checks', @@ -80,7 +81,7 @@ export class ViewHealthChecksComponent implements OnInit, OnDestroy { const loadSubscription$ = this.gs .get(SERV.HEALTH_CHECKS, this.viewedHealthCIndex) .subscribe((response: ResponseWrapper) => { - this.healthc = new JsonAPISerializer().deserialize(response, zHealthCheckResponse); + this.healthc = zJHealthCheck.parse(new JsonAPISerializer().deserialize(response, zHealthCheckResponse)) as JHealthCheck; }); this.unsubscribeService.add(loadSubscription$); } diff --git a/src/app/core/_datasources/agents.datasource.ts b/src/app/core/_datasources/agents.datasource.ts index d84cc3090..2ef3be378 100644 --- a/src/app/core/_datasources/agents.datasource.ts +++ b/src/app/core/_datasources/agents.datasource.ts @@ -17,6 +17,8 @@ import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { zAgentAssignmentListResponse, zAgentListResponse, zUserListResponse } from '@generated/api/zod.gen'; +import { zJAgent } from '@models/schemas'; +import { z } from 'zod'; import { BaseDataSource } from '@datasources/base.datasource'; @@ -71,7 +73,7 @@ export class AgentsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(async (response: ResponseWrapper) => { - const agents: JAgent[] = this.serializer.deserialize(response, zAgentListResponse); + const agents = z.array(zJAgent).parse(this.serializer.deserialize(response, zAgentListResponse)) as JAgent[]; if (agents && agents.length > 0) { agents.forEach((agent: JAgent) => { diff --git a/src/app/core/_datasources/chunks.datasource.ts b/src/app/core/_datasources/chunks.datasource.ts index d37dd8dbe..358139b7d 100644 --- a/src/app/core/_datasources/chunks.datasource.ts +++ b/src/app/core/_datasources/chunks.datasource.ts @@ -12,6 +12,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zChunkListResponse } from '@generated/api/zod.gen'; +import { zJChunk } from '@models/schemas'; +import { z } from 'zod'; export class ChunksDataSource extends BaseDataSource { private _agentId = 0; @@ -50,7 +52,7 @@ export class ChunksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(([response]: [ResponseWrapper]) => { - const assignedChunks: JChunk[] = this.serializer.deserialize(response, zChunkListResponse); + const assignedChunks = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)) as JChunk[]; assignedChunks.forEach((chunk: JChunk) => { if (chunk.task != undefined) { diff --git a/src/app/core/_datasources/files.datasource.ts b/src/app/core/_datasources/files.datasource.ts index 4bac1c1c1..c1872202f 100644 --- a/src/app/core/_datasources/files.datasource.ts +++ b/src/app/core/_datasources/files.datasource.ts @@ -19,6 +19,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zFileListResponse, zPreTaskResponse, zTaskResponse } from '@generated/api/zod.gen'; +import { zJFile } from '@models/schemas'; +import { z } from 'zod'; /** * Data source class definition for files @@ -117,7 +119,7 @@ export class FilesDataSource extends BaseDataSource { this.setData(pretask.pretaskFiles as JFile[]); } else { - const files: JFile[] = this.serializer.deserialize(response, zFileListResponse); + const files = z.array(zJFile).parse(this.serializer.deserialize(response, zFileListResponse)) as JFile[]; const nextLink = response.links.next; const prevLink = response.links.prev; diff --git a/src/app/core/_datasources/health-check-agents.datasource.ts b/src/app/core/_datasources/health-check-agents.datasource.ts index 88c1714e2..1ddbb2598 100644 --- a/src/app/core/_datasources/health-check-agents.datasource.ts +++ b/src/app/core/_datasources/health-check-agents.datasource.ts @@ -10,6 +10,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zHealthCheckAgentListResponse } from '@generated/api/zod.gen'; +import { zJHealthCheckAgent } from '@models/schemas'; +import { z } from 'zod'; export class HealthCheckAgentsDataSource extends BaseDataSource { private _healthCheckId = 0; @@ -39,7 +41,7 @@ export class HealthCheckAgentsDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((healthCheckResponse: ResponseWrapper) => { - const healthChecksAgent: JHealthCheckAgent[] = this.serializer.deserialize(healthCheckResponse, zHealthCheckAgentListResponse); + const healthChecksAgent = z.array(zJHealthCheckAgent).parse(this.serializer.deserialize(healthCheckResponse, zHealthCheckAgentListResponse)) as JHealthCheckAgent[]; const length = healthCheckResponse.meta.page.total_elements; const nextLink = healthCheckResponse.links.next; diff --git a/src/app/core/_datasources/health-checks.datasource.ts b/src/app/core/_datasources/health-checks.datasource.ts index ea461f35a..06261341e 100644 --- a/src/app/core/_datasources/health-checks.datasource.ts +++ b/src/app/core/_datasources/health-checks.datasource.ts @@ -12,6 +12,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zHealthCheckListResponse } from '@generated/api/zod.gen'; +import { zJHealthCheck } from '@models/schemas'; +import { z } from 'zod'; export class HealthChecksDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -42,7 +44,7 @@ export class HealthChecksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(([response]: [ResponseWrapper]) => { - const healthChecks: JHealthCheck[] = this.serializer.deserialize(response, zHealthCheckListResponse); + const healthChecks = z.array(zJHealthCheck).parse(this.serializer.deserialize(response, zHealthCheckListResponse)) as JHealthCheck[]; healthChecks.forEach((healthCheck: JHealthCheck) => { healthCheck.hashTypeDescription = healthCheck.hashType?.description; diff --git a/src/app/core/_datasources/notifications.datasource.ts b/src/app/core/_datasources/notifications.datasource.ts index 49dfe98e3..5609fc57b 100644 --- a/src/app/core/_datasources/notifications.datasource.ts +++ b/src/app/core/_datasources/notifications.datasource.ts @@ -12,6 +12,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zNotificationSettingListResponse } from '@generated/api/zod.gen'; +import { zJNotification } from '@models/schemas'; +import { z } from 'zod'; export class NotificationsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -42,7 +44,7 @@ export class NotificationsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const notifications: JNotification[] = this.serializer.deserialize(response, zNotificationSettingListResponse); + const notifications = z.array(zJNotification).parse(this.serializer.deserialize(response, zNotificationSettingListResponse)) as JNotification[]; const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/tasks-chunks.datasource.ts b/src/app/core/_datasources/tasks-chunks.datasource.ts index b9b5071d7..a5ad0e0ed 100644 --- a/src/app/core/_datasources/tasks-chunks.datasource.ts +++ b/src/app/core/_datasources/tasks-chunks.datasource.ts @@ -13,6 +13,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zChunkListResponse, zTaskResponse } from '@generated/api/zod.gen'; +import { zJChunk } from '@models/schemas'; +import { z } from 'zod'; export class TasksChunksDataSource extends BaseDataSource { private _taskId = 0; @@ -83,7 +85,7 @@ export class TasksChunksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const chunks: JChunk[] = this.serializer.deserialize(response, zChunkListResponse); + const chunks = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)) as JChunk[]; const chunksToShow: JChunk[] = chunks.map((chunk: JChunk) => { if (chunk.agent) { diff --git a/src/app/core/_datasources/tasks-supertasks.datasource.ts b/src/app/core/_datasources/tasks-supertasks.datasource.ts index 95f31170e..ce2e90741 100644 --- a/src/app/core/_datasources/tasks-supertasks.datasource.ts +++ b/src/app/core/_datasources/tasks-supertasks.datasource.ts @@ -11,6 +11,8 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zChunkListResponse, zTaskListResponse } from '@generated/api/zod.gen'; +import { zJChunk } from '@models/schemas'; +import { z } from 'zod'; export class TasksSupertasksDataSource extends BaseDataSource { private _supertTaskId = 0; @@ -56,7 +58,7 @@ export class TasksSupertasksDataSource extends BaseDataSource { .getAll(SERV.CHUNKS, chunkParams.create()) .pipe(finalize(() => this.setData(subtasks))) .subscribe((chunkResponse: ResponseWrapper) => { - const chunks: JChunk[] = this.serializer.deserialize(chunkResponse, zChunkListResponse); + const chunks = z.array(zJChunk).parse(this.serializer.deserialize(chunkResponse, zChunkListResponse)) as JChunk[]; subtasks.forEach((task) => { task.chunkData = this.convertChunks(task.id, chunks, false, task.keyspace); }); diff --git a/src/app/core/_models/health-check.model.ts b/src/app/core/_models/health-check.model.ts index af726898f..75604d777 100644 --- a/src/app/core/_models/health-check.model.ts +++ b/src/app/core/_models/health-check.model.ts @@ -8,8 +8,10 @@ import { JHashtype } from '@models/hashtype.model'; * - `BRUTE_FORCE` Health check using brute-force attack * @enum */ + // @TODO: Check this export enum HealthCheckType { - BRUTE_FORCE + MD5 = 0, + BCRYPT = 3200 } /** diff --git a/src/app/core/_models/json-api.types.ts b/src/app/core/_models/json-api.types.ts index 9dad9463b..2ac42e739 100644 --- a/src/app/core/_models/json-api.types.ts +++ b/src/app/core/_models/json-api.types.ts @@ -22,6 +22,39 @@ type JsonaRuntimeProps = { relationshipNames?: string[]; }; +// ── Relationship resolution types ──────────────────────────────── + +/** Extract the typed relationships object from a JSON:API envelope. */ +type ExtractRelationships = T extends { relationships?: infer R } + ? NonNullable + : {}; + +/** Extract the union of included resource types from a JSON:API envelope. */ +type ExtractIncludedUnion = T extends { included?: (infer I)[] } ? I : never; + +/** + * Resolve a relationship to its flattened type. + * Matches by relationship key name = included type literal. + * To-many (array data) → FlattenItem[] + * To-one (single data) → FlattenItem | null + */ +type ResolveRel = + NonNullable extends readonly any[] + ? FlattenItem>[] + : FlattenItem> | null; + +/** Map all relationship keys to optional resolved types. */ +type RelationshipMap = { + [K in keyof Rels & string]?: ResolveRel; +}; + +/** Make specified keys required (no-op when K is never). */ +type RequireKeys = [K] extends [never] + ? T + : Omit & Required>; + +// ── Flatten types ──────────────────────────────────────────────── + /** * Flatten a JSON:API resource object: merge attributes into the root, * strip the `attributes` and `relationships` wrappers. @@ -32,13 +65,25 @@ type FlattenItem = D extends { attributes?: infer A } ? Omit & NonNullable & JsonaRuntimeProps : D & JsonaRuntimeProps; +/** Flatten data item + attach resolved relationship properties. */ +type FlattenItemWithRels = D extends { attributes?: infer A } + ? Omit & NonNullable & RelationshipMap & JsonaRuntimeProps + : D & JsonaRuntimeProps; + // ── Main types ─────────────────────────────────────────────────── -type JsonApiPayloadInner = T extends { data: (infer D)[] } - ? FlattenItem[] - : T extends { data: infer D } - ? FlattenItem - : T; +type JsonApiPayloadInner = + [IncKeys] extends [never] + ? T extends { data: (infer D)[] } + ? FlattenItem[] + : T extends { data: infer D } + ? FlattenItem + : T + : T extends { data: (infer D)[] } + ? RequireKeys, ExtractIncludedUnion>, IncKeys>[] + : T extends { data: infer D } + ? RequireKeys, ExtractIncludedUnion>, IncKeys> + : T; /** * Transform a JSON:API envelope type into the flat model type @@ -46,13 +91,23 @@ type JsonApiPayloadInner = T extends { data: (infer D)[] } * * Handles: optional data/attributes, relationships from included, * both array and single-object data. + * + * Pass IncKeys to make specific relationship properties required + * (reflecting that those relationships were requested via `include`). */ -export type JsonApiPayload = JsonApiPayloadInner>; +export type JsonApiPayload = + JsonApiPayloadInner, IncKeys>; /** * Shorthand: extract JsonApiPayload directly from a Zod envelope schema. */ -export type JsonApiPayloadOf = JsonApiPayload< - z.infer ->; +export type JsonApiPayloadOf = + JsonApiPayload, IncKeys>; + +/** Valid relationship key names from an envelope type. */ +export type RelationshipKeysOf = keyof ExtractRelationships & string; + +/** Valid relationship key names from a Zod envelope schema. */ +export type RelationshipKeysOfSchema = + RelationshipKeysOf>; diff --git a/src/app/core/_models/schemas.ts b/src/app/core/_models/schemas.ts new file mode 100644 index 000000000..0e4fc2690 --- /dev/null +++ b/src/app/core/_models/schemas.ts @@ -0,0 +1,101 @@ +/** + * @TODO: temporary stricter validation as Zod inference has some problems if strict mode is turned off + * Remove this when the strict mode has been turned on. + */ + +import { z } from 'zod'; + +// ── Agent ─────────────────────────────────────────────────────── + +export const zJAgent = z.object({ + id: z.number(), + type: z.literal('agent'), + agentName: z.string(), + uid: z.string(), + os: z.number(), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.number().optional(), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.number(), + cpuOnly: z.boolean(), + clientSignature: z.string(), +}).passthrough(); + +// ── Chunk ─────────────────────────────────────────────────────── + +export const zJChunk = z.object({ + id: z.number(), + type: z.literal('chunk'), + taskId: z.number(), + skip: z.number(), + length: z.number(), + agentId: z.number(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.number(), + state: z.number(), + cracked: z.number(), + speed: z.number(), +}).passthrough(); + +// ── File ──────────────────────────────────────────────────────── + +export const zJFile = z.object({ + id: z.number(), + type: z.literal('file'), + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.number(), + accessGroupId: z.number(), + lineCount: z.number(), +}).passthrough(); + +// ── Health Check ──────────────────────────────────────────────── + +export const zJHealthCheck = z.object({ + id: z.number(), + type: z.literal('healthCheck'), + attackCmd: z.string(), + checkType: z.number(), + crackerBinaryId: z.number(), + expectedCracks: z.number(), + hashtypeId: z.number(), + status: z.number(), + time: z.number(), +}).passthrough(); + +// ── Health Check Agent ────────────────────────────────────────── + +export const zJHealthCheckAgent = z.object({ + id: z.number(), + type: z.literal('healthCheckAgent'), + healthCheckId: z.number(), + agentId: z.number(), + status: z.number(), + cracked: z.number(), + numGpus: z.number(), + start: z.number(), + end: z.number(), + errors: z.string(), +}).passthrough(); + +// ── Notification Setting ──────────────────────────────────────── + +export const zJNotification = z.object({ + id: z.number(), + type: z.literal('notificationSetting'), + action: z.string(), + isActive: z.boolean(), + notification: z.string(), + receiver: z.string(), + userId: z.number(), + objectId: z.number().optional(), +}).passthrough(); diff --git a/src/app/core/_services/api/serializer-service.ts b/src/app/core/_services/api/serializer-service.ts index c1d792e02..773cdd88a 100644 --- a/src/app/core/_services/api/serializer-service.ts +++ b/src/app/core/_services/api/serializer-service.ts @@ -16,7 +16,11 @@ import { z } from 'zod'; import { Injectable } from '@angular/core'; -import { JsonApiPayload } from '@models/json-api.types'; +import { JsonApiPayload, RelationshipKeysOfSchema } from '@models/json-api.types'; + +interface IncludeOptions extends TDeserializeOptions { + include: readonly K[]; +} /** Class for serializing/deserializing objects to and from JSON:API format * @class JsonAPISerializer @@ -47,19 +51,26 @@ export class JsonAPISerializer { } /** - * Deserialize a single-resource JSON:API response body into a typed model. + * Deserialize a JSON:API response body into a typed model. + * + * @overload Pass a Zod envelope schema + include keys to get relationships required: + * `deserialize(body, zTaskResponse, { include: ['hashlist'] })` * - * @overload Pass a Zod envelope schema to validate the raw body pre-deserialization - * and auto-infer the flat return type via JsonApiPayload: - * `deserialize(body, zAgentResponse)` → returns `JsonApiPayload<...>` (single flat model) + * @overload Pass a Zod envelope schema to validate and auto-infer the flat return type: + * `deserialize(body, zAgentResponse)` → returns `JsonApiPayload<...>` * * @overload Omit the schema to get an unvalidated result: * `deserialize(body)` → returns `MyType` * * @param body Response body received by an API call - * @param schema Zod envelope schema to validate the raw JSON:API body (first overload) - * @param options Optional deserializer options + * @param schema Zod envelope schema to validate the raw JSON:API body + * @param options Optional deserializer options; `include` is type-only */ + deserialize>( + body: TJsonApiBody, + schema: TSchema, + options: IncludeOptions + ): JsonApiPayload, K>; deserialize( body: TJsonApiBody, schema: TSchema, @@ -69,7 +80,7 @@ export class JsonAPISerializer { deserialize( body: TJsonApiBody, schemaOrOptions?: z.ZodTypeAny | TDeserializeOptions, - options?: TDeserializeOptions + options?: TDeserializeOptions | IncludeOptions ): T { if (schemaOrOptions instanceof z.ZodType) { this.validateBody(body, schemaOrOptions); diff --git a/src/app/hashlists/hashes/hashes.component.ts b/src/app/hashlists/hashes/hashes.component.ts index f0642f6b9..0047cc26b 100644 --- a/src/app/hashlists/hashes/hashes.component.ts +++ b/src/app/hashlists/hashes/hashes.component.ts @@ -15,6 +15,7 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { displays, filters } from '@src/app/core/_constants/hashes.config'; import { zChunkResponse, zHashlistResponse, zTaskResponse } from '@generated/api/zod.gen'; +import { zJChunk } from '@models/schemas'; /** * The `HashesComponent` is for managing and displaying a list of hashes @@ -138,7 +139,7 @@ export class HashesComponent implements OnInit, OnDestroy { case 'chunkshash': this.whichView = 'chunks'; this.gs.get(SERV.CHUNKS, this.editedIndex).subscribe((response: ResponseWrapper) => { - const chunk: JChunk = new JsonAPISerializer().deserialize(response, zChunkResponse); + const chunk = zJChunk.parse(new JsonAPISerializer().deserialize(response, zChunkResponse)) as JChunk; this.titleName = String(chunk.id); }); break; diff --git a/src/app/shared/graphs/task-visual/task-visual.component.ts b/src/app/shared/graphs/task-visual/task-visual.component.ts index cbb3530de..8d5caaa92 100644 --- a/src/app/shared/graphs/task-visual/task-visual.component.ts +++ b/src/app/shared/graphs/task-visual/task-visual.component.ts @@ -11,6 +11,8 @@ import { SERV } from '@services/main.config'; import { GlobalService } from '@services/main.service'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { zChunkListResponse, zTaskListResponse, zTaskWrapperListResponse } from '@generated/api/zod.gen'; +import { zJChunk } from '@models/schemas'; +import { z } from 'zod'; @Component({ selector: 'task-visual', @@ -80,7 +82,7 @@ export class TaskVisualComponent implements AfterViewInit { if (taskWrappers[0].taskType === TaskType.SUPERTASK && this.view === 'supertask') { for (let i = 0; i < taskWrappers.length; i++) { this.gs.getAll(SERV.CHUNKS, paramsTasks).subscribe((response: ResponseWrapper) => { - const chunks: JChunk[] = new JsonAPISerializer().deserialize(response, zChunkListResponse); + const chunks = z.array(zJChunk).parse(new JsonAPISerializer().deserialize(response, zChunkListResponse)) as JChunk[]; const progress = []; let cracked = []; @@ -122,7 +124,7 @@ export class TaskVisualComponent implements AfterViewInit { } } else { this.gs.getAll(SERV.CHUNKS, paramsTasks).subscribe((response: ResponseWrapper) => { - const ch: JChunk[] = new JsonAPISerializer().deserialize(response, zChunkListResponse); // Get chunks by id + const ch = z.array(zJChunk).parse(new JsonAPISerializer().deserialize(response, zChunkListResponse)) as JChunk[]; // Get chunks by id // Getting variables const keyspace = Number(this.tkeyspace); // Get Keyspace Progress diff --git a/src/app/tasks/edit-tasks/edit-tasks.component.ts b/src/app/tasks/edit-tasks/edit-tasks.component.ts index c448fe978..31406ab0c 100644 --- a/src/app/tasks/edit-tasks/edit-tasks.component.ts +++ b/src/app/tasks/edit-tasks/edit-tasks.component.ts @@ -36,6 +36,8 @@ import { attackCommandWithAliasValidator } from '@src/app/core/_validators/attac import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; import { zAgentAssignmentListResponse, zAgentListResponse, zHashTypeResponse, zSpeedListResponse, zTaskResponse } from '@generated/api/zod.gen'; +import { zJAgent } from '@models/schemas'; +import { z } from 'zod'; @Component({ selector: 'app-edit-tasks', @@ -352,7 +354,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { } this.gs.getAll(SERV.AGENTS, params.create()).subscribe((responseAgents: ResponseWrapper) => { - this.availAgents = this.serializer.deserialize(responseAgents, zAgentListResponse); + this.availAgents = z.array(zJAgent).parse(this.serializer.deserialize(responseAgents, zAgentListResponse)) as JAgent[]; this.selectAgents = transformSelectOptions(this.availAgents, AGENT_MAPPING); this.isLoadingAgents = false; }); diff --git a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts index 0d1699488..162bbf364 100644 --- a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts +++ b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts @@ -23,6 +23,7 @@ import { benchmarkType } from '@src/app/core/_constants/tasks.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; import { zCrackerBinaryTypeListResponse, zFileResponse, zPreTaskResponse } from '@generated/api/zod.gen'; +import { zJFile } from '@models/schemas'; @Component({ selector: 'app-wrbulk', @@ -151,7 +152,7 @@ export class WrbulkComponent implements OnInit, OnDestroy { const fileName: string = await new Promise((resolve, reject) => { const fileSubscription$ = this.gs.get(SERV.FILES, iter).subscribe({ next: (response: ResponseWrapper) => { - const file: JFile = new JsonAPISerializer().deserialize(response, zFileResponse); + const file = zJFile.parse(new JsonAPISerializer().deserialize(response, zFileResponse)) as JFile; resolve(file.filename); }, error: reject diff --git a/src/app/users/edit-groups/edit-groups.component.ts b/src/app/users/edit-groups/edit-groups.component.ts index aacfcd0b1..4bb11e2cf 100644 --- a/src/app/users/edit-groups/edit-groups.component.ts +++ b/src/app/users/edit-groups/edit-groups.component.ts @@ -31,6 +31,8 @@ import { getAddUsersForm } from '@src/app/users/edit-groups/edit-groups.form'; import { zAccessGroupListResponse, zAccessGroupResponse, zAgentListResponse } from '@generated/api/zod.gen'; +import { zJAgent } from '@models/schemas'; +import { z } from 'zod'; @Component({ selector: 'app-edit-groups', @@ -176,7 +178,7 @@ export class EditGroupsComponent implements OnInit, OnDestroy { } const requestParams = requestParamBuilder.create(); const response: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.AGENTS, requestParams)); - const agents: JAgent[] = new JsonAPISerializer().deserialize(response, zAgentListResponse); + const agents = z.array(zJAgent).parse(new JsonAPISerializer().deserialize(response, zAgentListResponse)) as JAgent[]; this.selectAgents = transformSelectOptions(agents, AGENT_MAPPING); } } catch (error) { diff --git a/src/generated/api/types.gen.ts b/src/generated/api/types.gen.ts index 938123957..b69ada5f6 100644 --- a/src/generated/api/types.gen.ts +++ b/src/generated/api/types.gen.ts @@ -81,25 +81,42 @@ export type AccessGroupResponse = { }; }; included?: Array<{ - id?: number; - type?: 'agentMembers'; - attributes?: { - agentId?: number; - agentName?: string; - uid?: string; - os?: 0 | 1 | 2; - devices?: string; - cmdPars?: string; - ignoreErrors?: 0 | 1 | 2; - isActive?: boolean; - isTrusted?: boolean; - token?: string; - lastAct?: string; - lastTime?: number; - lastIp?: string; - userId?: number; - cpuOnly?: boolean; - clientSignature?: string; + id: number; + type: 'userMembers'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + } | { + id: number; + type: 'agentMembers'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; }; }>; }; @@ -160,25 +177,42 @@ export type AccessGroupListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'agentMembers'; - attributes?: { - agentId?: number; - agentName?: string; - uid?: string; - os?: 0 | 1 | 2; - devices?: string; - cmdPars?: string; - ignoreErrors?: 0 | 1 | 2; - isActive?: boolean; - isTrusted?: boolean; - token?: string; - lastAct?: string; - lastTime?: number; - lastIp?: string; - userId?: number; - cpuOnly?: boolean; - clientSignature?: string; + id: number; + type: 'userMembers'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + } | { + id: number; + type: 'agentMembers'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; }; }>; }; @@ -320,13 +354,101 @@ export type AgentResponse = { }; }; included?: Array<{ - id?: number; - type?: 'assignments'; - attributes?: { - assignmentId?: number; - taskId?: number; - agentId?: number; - benchmark?: string; + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + } | { + id: number; + type: 'accessGroups'; + attributes: { + groupName: string; + }; + } | { + id: number; + type: 'agentStats'; + attributes: { + agentId: number; + statType: 1 | 2 | 3; + time: number; + value: Array; + }; + } | { + id: number; + type: 'agentErrors'; + attributes: { + agentId: number; + taskId: number; + chunkId: number; + time: number; + error: string; + }; + } | { + id: number; + type: 'chunks'; + attributes: { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } | { + id: number; + type: 'assignments'; + attributes: { + taskId: number; + agentId: number; + benchmark: string; }; }>; }; @@ -465,13 +587,101 @@ export type AgentListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'assignments'; - attributes?: { - assignmentId?: number; - taskId?: number; - agentId?: number; - benchmark?: string; + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + } | { + id: number; + type: 'accessGroups'; + attributes: { + groupName: string; + }; + } | { + id: number; + type: 'agentStats'; + attributes: { + agentId: number; + statType: 1 | 2 | 3; + time: number; + value: Array; + }; + } | { + id: number; + type: 'agentErrors'; + attributes: { + agentId: number; + taskId: number; + chunkId: number; + time: number; + error: string; + }; + } | { + id: number; + type: 'chunks'; + attributes: { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } | { + id: number; + type: 'assignments'; + attributes: { + taskId: number; + agentId: number; + benchmark: string; }; }>; }; @@ -554,35 +764,54 @@ export type AgentAssignmentResponse = { }; }; included?: Array<{ - id?: number; - type?: 'task'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -647,35 +876,54 @@ export type AgentAssignmentListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'task'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -747,9 +995,7 @@ export type AgentBinaryResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type AgentBinaryPostPatchResponse = { @@ -798,9 +1044,7 @@ export type AgentBinaryListResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type AgentErrorResponse = { @@ -839,35 +1083,34 @@ export type AgentErrorResponse = { }; }; included?: Array<{ - id?: number; - type?: 'task'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -908,35 +1151,34 @@ export type AgentErrorListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'task'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -980,9 +1222,7 @@ export type AgentStatResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type AgentStatListResponse = { @@ -1010,9 +1250,7 @@ export type AgentStatListResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type ApiTokenCreate = { @@ -1073,25 +1311,22 @@ export type ApiTokenResponse = { }; }; included?: Array<{ - id?: number; - type?: 'user'; - attributes?: { - id?: number; - name?: string; - email?: string; - passwordHash?: string; - passwordSalt?: string; - isValid?: boolean; - isComputedPassword?: boolean; - lastLoginDate?: number; - registeredSince?: number; - sessionLifetime?: number; - globalPermissionGroupId?: number; - yubikey?: string; - otp1?: string; - otp2?: string; - otp3?: string; - otp4?: string; + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; }; }>; }; @@ -1150,25 +1385,22 @@ export type ApiTokenListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'user'; - attributes?: { - id?: number; - name?: string; - email?: string; - passwordHash?: string; - passwordSalt?: string; - isValid?: boolean; - isComputedPassword?: boolean; - lastLoginDate?: number; - registeredSince?: number; - sessionLifetime?: number; - globalPermissionGroupId?: number; - yubikey?: string; - otp1?: string; - otp2?: string; - otp3?: string; - otp4?: string; + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; }; }>; }; @@ -1239,35 +1471,54 @@ export type ChunkResponse = { }; }; included?: Array<{ - id?: number; - type?: 'task'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -1324,35 +1575,54 @@ export type ChunkListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'task'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -1415,11 +1685,10 @@ export type ConfigResponse = { }; }; included?: Array<{ - id?: number; - type?: 'configSection'; - attributes?: { - configSectionId?: number; - sectionName?: string; + id: number; + type: 'configSection'; + attributes: { + sectionName: string; }; }>; }; @@ -1474,11 +1743,10 @@ export type ConfigListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'configSection'; - attributes?: { - configSectionId?: number; - sectionName?: string; + id: number; + type: 'configSection'; + attributes: { + sectionName: string; }; }>; }; @@ -1519,9 +1787,7 @@ export type ConfigSectionResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type ConfigSectionListResponse = { @@ -1546,9 +1812,7 @@ export type ConfigSectionListResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type CrackerBinaryCreate = { @@ -1619,35 +1883,41 @@ export type CrackerBinaryResponse = { }; }; included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -1714,35 +1984,41 @@ export type CrackerBinaryListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -1823,35 +2099,43 @@ export type CrackerBinaryTypeResponse = { }; }; included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'crackerVersions'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -1914,35 +2198,43 @@ export type CrackerBinaryTypeListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'crackerVersions'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -2024,11 +2316,10 @@ export type FileResponse = { }; }; included?: Array<{ - id?: number; - type?: 'accessGroup'; - attributes?: { - accessGroupId?: number; - groupName?: string; + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; }; }>; }; @@ -2059,11 +2350,10 @@ export type FileSingleResponse = { }; }; included?: Array<{ - id?: number; - type?: 'accessGroup'; - attributes?: { - accessGroupId?: number; - groupName?: string; + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; }; }>; }; @@ -2124,11 +2414,10 @@ export type FileListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'accessGroup'; - attributes?: { - accessGroupId?: number; - groupName?: string; + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; }; }>; }; @@ -2206,25 +2495,22 @@ export type GlobalPermissionGroupResponse = { }; }; included?: Array<{ - id?: number; - type?: 'userMembers'; - attributes?: { - id?: number; - name?: string; - email?: string; - passwordHash?: string; - passwordSalt?: string; - isValid?: boolean; - isComputedPassword?: boolean; - lastLoginDate?: number; - registeredSince?: number; - sessionLifetime?: number; - globalPermissionGroupId?: number; - yubikey?: string; - otp1?: string; - otp2?: string; - otp3?: string; - otp4?: string; + id: number; + type: 'userMembers'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; }; }>; }; @@ -2281,25 +2567,22 @@ export type GlobalPermissionGroupListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'userMembers'; - attributes?: { - id?: number; - name?: string; - email?: string; - passwordHash?: string; - passwordSalt?: string; - isValid?: boolean; - isComputedPassword?: boolean; - lastLoginDate?: number; - registeredSince?: number; - sessionLifetime?: number; - globalPermissionGroupId?: number; - yubikey?: string; - otp1?: string; - otp2?: string; - otp3?: string; - otp4?: string; + id: number; + type: 'userMembers'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; }; }>; }; @@ -2367,27 +2650,42 @@ export type HashResponse = { }; }; included?: Array<{ - id?: number; - type?: 'hashlist'; - attributes?: { - hashlistSeperator?: string; - sourceType?: string; - sourceData?: string; - hashlistId?: number; - name?: string; - format?: 0 | 1 | 2 | 3; - hashTypeId?: number; - hashCount?: number; - separator?: string; - cracked?: number; - isSecret?: boolean; - isHexSalt?: boolean; - isSalted?: boolean; - accessGroupId?: number; - notes?: string; - useBrain?: boolean; - brainFeatures?: number; - isArchived?: boolean; + id: number; + type: 'chunk'; + attributes: { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + } | { + id: number; + type: 'hashlist'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; }; }>; }; @@ -2441,27 +2739,42 @@ export type HashListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'hashlist'; - attributes?: { - hashlistSeperator?: string; - sourceType?: string; - sourceData?: string; - hashlistId?: number; - name?: string; - format?: 0 | 1 | 2 | 3; - hashTypeId?: number; - hashCount?: number; - separator?: string; - cracked?: number; - isSecret?: boolean; - isHexSalt?: boolean; - isSalted?: boolean; - accessGroupId?: number; - notes?: string; - useBrain?: boolean; - brainFeatures?: number; - isArchived?: boolean; + id: number; + type: 'chunk'; + attributes: { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + } | { + id: number; + type: 'hashlist'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; }; }>; }; @@ -2602,35 +2915,83 @@ export type HashlistResponse = { }; }; included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + } | { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + } | { + id: number; + type: 'hashes'; + attributes: { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; + }; + } | { + id: number; + type: 'hashlists'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -2707,37 +3068,85 @@ export type HashlistSingleResponse = { id: number; }>; }; - }; - included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + }; + included?: Array<{ + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + } | { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + } | { + id: number; + type: 'hashes'; + attributes: { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; + }; + } | { + id: number; + type: 'hashlists'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -2854,35 +3263,83 @@ export type HashlistListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + } | { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + } | { + id: number; + type: 'hashes'; + attributes: { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; + }; + } | { + id: number; + type: 'hashlists'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -2948,9 +3405,7 @@ export type HashTypeResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type HashTypePostPatchResponse = { @@ -2993,9 +3448,7 @@ export type HashTypeListResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type HealthCheckAgentResponse = { @@ -3047,17 +3500,36 @@ export type HealthCheckAgentResponse = { }; }; included?: Array<{ - id?: number; - type?: 'healthCheck'; - attributes?: { - healthCheckId?: number; - time?: number; - status?: -1 | 0 | 1; - checkType?: 0 | 3200; - hashtypeId?: number; - crackerBinaryId?: number; - expectedCracks?: number; - attackCmd?: string; + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'healthCheck'; + attributes: { + time: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; }; }>; }; @@ -3111,17 +3583,36 @@ export type HealthCheckAgentListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'healthCheck'; - attributes?: { - healthCheckId?: number; - time?: number; - status?: -1 | 0 | 1; - checkType?: 0 | 3200; - hashtypeId?: number; - crackerBinaryId?: number; - expectedCracks?: number; - attackCmd?: string; + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'healthCheck'; + attributes: { + time: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; }; }>; }; @@ -3218,18 +3709,34 @@ export type HealthCheckResponse = { }; }; included?: Array<{ - id?: number; - type?: 'healthCheckAgents'; - attributes?: { - healthCheckAgentId?: number; - healthCheckId?: number; - agentId?: number; - status?: -1 | 0 | 1; - cracked?: number; - numGpus?: number; - start?: number; - end?: number; - errors?: string; + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + } | { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + } | { + id: number; + type: 'healthCheckAgents'; + attributes: { + healthCheckId: number; + agentId: number; + status: -1 | 0 | 1; + cracked: number; + numGpus: number; + start: number; + end: number; + errors: string; }; }>; }; @@ -3312,18 +3819,34 @@ export type HealthCheckListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'healthCheckAgents'; - attributes?: { - healthCheckAgentId?: number; - healthCheckId?: number; - agentId?: number; - status?: -1 | 0 | 1; - cracked?: number; - numGpus?: number; - start?: number; - end?: number; - errors?: string; + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + } | { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + } | { + id: number; + type: 'healthCheckAgents'; + attributes: { + healthCheckId: number; + agentId: number; + status: -1 | 0 | 1; + cracked: number; + numGpus: number; + start: number; + end: number; + errors: string; }; }>; }; @@ -3386,9 +3909,7 @@ export type LogEntryResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type LogEntryPostPatchResponse = { @@ -3435,9 +3956,7 @@ export type LogEntryListResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type NotificationSettingCreate = { @@ -3501,25 +4020,22 @@ export type NotificationSettingResponse = { }; }; included?: Array<{ - id?: number; - type?: 'user'; - attributes?: { - id?: number; - name?: string; - email?: string; - passwordHash?: string; - passwordSalt?: string; - isValid?: boolean; - isComputedPassword?: boolean; - lastLoginDate?: number; - registeredSince?: number; - sessionLifetime?: number; - globalPermissionGroupId?: number; - yubikey?: string; - otp1?: string; - otp2?: string; - otp3?: string; - otp4?: string; + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; }; }>; }; @@ -3580,25 +4096,22 @@ export type NotificationSettingListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'user'; - attributes?: { - id?: number; - name?: string; - email?: string; - passwordHash?: string; - passwordSalt?: string; - isValid?: boolean; - isComputedPassword?: boolean; - lastLoginDate?: number; - registeredSince?: number; - sessionLifetime?: number; - globalPermissionGroupId?: number; - yubikey?: string; - otp1?: string; - otp2?: string; - otp3?: string; - otp4?: string; + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; }; }>; }; @@ -3672,9 +4185,7 @@ export type PreprocessorResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type PreprocessorPostPatchResponse = { @@ -3723,9 +4234,7 @@ export type PreprocessorListResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type PreTaskCreate = { @@ -3812,18 +4321,17 @@ export type PreTaskResponse = { }; }; included?: Array<{ - id?: number; - type?: 'pretaskFiles'; - attributes?: { - sourceType?: string; - sourceData?: string; - fileId?: number; - filename?: string; - size?: number; - isSecret?: boolean; - fileType?: 0 | 1 | 2 | 100; - accessGroupId?: number; - lineCount?: number; + id: number; + type: 'pretaskFiles'; + attributes: { + sourceType: string; + sourceData: string; + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; }; }>; }; @@ -3898,18 +4406,17 @@ export type PreTaskListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'pretaskFiles'; - attributes?: { - sourceType?: string; - sourceData?: string; - fileId?: number; - filename?: string; - size?: number; - isSecret?: boolean; - fileType?: 0 | 1 | 2 | 100; - accessGroupId?: number; - lineCount?: number; + id: number; + type: 'pretaskFiles'; + attributes: { + sourceType: string; + sourceData: string; + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; }; }>; }; @@ -3973,35 +4480,54 @@ export type SpeedResponse = { }; }; included?: Array<{ - id?: number; - type?: 'task'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -4051,35 +4577,54 @@ export type SpeedListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'task'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -4149,23 +4694,22 @@ export type SupertaskResponse = { }; }; included?: Array<{ - id?: number; - type?: 'pretasks'; - attributes?: { - files?: Array; - pretaskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - priority?: number; - maxAgents?: number; - isMaskImport?: boolean; - crackerBinaryTypeId?: number; + id: number; + type: 'pretasks'; + attributes: { + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; }; }>; }; @@ -4191,23 +4735,22 @@ export type SupertaskSingleResponse = { }; }; included?: Array<{ - id?: number; - type?: 'pretasks'; - attributes?: { - files?: Array; - pretaskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - priority?: number; - maxAgents?: number; - isMaskImport?: boolean; - crackerBinaryTypeId?: number; + id: number; + type: 'pretasks'; + attributes: { + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; }; }>; }; @@ -4258,23 +4801,22 @@ export type SupertaskListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'pretasks'; - attributes?: { - files?: Array; - pretaskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - priority?: number; - maxAgents?: number; - isMaskImport?: boolean; - crackerBinaryTypeId?: number; + id: number; + type: 'pretasks'; + attributes: { + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; }; }>; }; @@ -4454,14 +4996,84 @@ export type TaskResponse = { }; }; included?: Array<{ - id?: number; - type?: 'speeds'; - attributes?: { - speedId?: number; - agentId?: number; - taskId?: number; - speed?: number; - time?: number; + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + } | { + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; + }; + } | { + id: number; + type: 'hashlist'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } | { + id: number; + type: 'assignedAgents'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'files'; + attributes: { + sourceType: string; + sourceData: string; + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; + }; + } | { + id: number; + type: 'speeds'; + attributes: { + agentId: number; + taskId: number; + speed: number; + time: number; }; }>; }; @@ -4622,14 +5234,84 @@ export type TaskListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'speeds'; - attributes?: { - speedId?: number; - agentId?: number; - taskId?: number; - speed?: number; - time?: number; + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + } | { + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; + }; + } | { + id: number; + type: 'hashlist'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } | { + id: number; + type: 'assignedAgents'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number; + cpuOnly: boolean; + clientSignature: string; + }; + } | { + id: number; + type: 'files'; + attributes: { + sourceType: string; + sourceData: string; + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; + }; + } | { + id: number; + type: 'speeds'; + attributes: { + agentId: number; + taskId: number; + speed: number; + time: number; }; }>; }; @@ -4740,35 +5422,100 @@ export type TaskWrapperResponse = { }; }; included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + } | { + id: number; + type: 'hashlist'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } | { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + } | { + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -4841,35 +5588,100 @@ export type TaskWrapperSingleResponse = { }; }; included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + } | { + id: number; + type: 'hashlist'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } | { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + } | { + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -4974,35 +5786,100 @@ export type TaskWrapperListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'tasks'; - attributes?: { - hashlistId?: number; - files?: Array; - taskId?: number; - taskName?: string; - attackCmd?: string; - chunkTime?: number; - statusTimer?: number; - keyspace?: number; - keyspaceProgress?: number; - priority?: number; - maxAgents?: number; - color?: string; - isSmall?: boolean; - isCpuTask?: boolean; - useNewBench?: boolean; - skipKeyspace?: number; - crackerBinaryId?: number; - crackerBinaryTypeId?: number; - taskWrapperId?: number; - isArchived?: boolean; - notes?: string; - staticChunks?: number; - chunkSize?: number; - forcePipe?: boolean; - preprocessorId?: number; - preprocessorCommand?: string; + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + } | { + id: number; + type: 'hashlist'; + attributes: { + hashlistSeperator: string; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } | { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + } | { + id: number; + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } | { + id: number; + type: 'tasks'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; }; }>; }; @@ -5098,11 +5975,19 @@ export type UserResponse = { }; }; included?: Array<{ - id?: number; - type?: 'accessGroups'; - attributes?: { - accessGroupId?: number; - groupName?: string; + id: number; + type: 'globalPermissionGroup'; + attributes: { + name: string; + permissions: { + [key: string]: boolean; + }; + }; + } | { + id: number; + type: 'accessGroups'; + attributes: { + groupName: string; }; }>; }; @@ -5187,11 +6072,19 @@ export type UserListResponse = { }; }; included?: Array<{ - id?: number; - type?: 'accessGroups'; - attributes?: { - accessGroupId?: number; - groupName?: string; + id: number; + type: 'globalPermissionGroup'; + attributes: { + name: string; + permissions: { + [key: string]: boolean; + }; + }; + } | { + id: number; + type: 'accessGroups'; + attributes: { + groupName: string; }; }>; }; @@ -5251,9 +6144,7 @@ export type VoucherResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type VoucherPostPatchResponse = { @@ -5294,9 +6185,7 @@ export type VoucherListResponse = { relationships?: { [key: string]: unknown; }; - included?: Array<{ - [key: string]: unknown; - }>; + included?: Array; }; export type AbortChunkHelperApi = { @@ -5528,7 +6417,7 @@ export type GetAccessgroupsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: userMembers,agentMembers + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -5636,7 +6525,7 @@ export type GetAccessgroupsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: userMembers,agentMembers + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -6009,7 +6898,7 @@ export type GetAgentsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -6088,7 +6977,7 @@ export type GetAgentsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: user,accessGroups,agentStats,agentErrors,chunks,tasks,assignments + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -6461,7 +7350,7 @@ export type GetAgentassignmentsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: agent,task + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -6569,7 +7458,7 @@ export type GetAgentassignmentsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: agent,task + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -6868,7 +7757,7 @@ export type GetAgentbinariesData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -6976,7 +7865,7 @@ export type GetAgentbinariesCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -7167,7 +8056,7 @@ export type GetAgenterrorsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: task + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -7219,7 +8108,7 @@ export type GetAgenterrorsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: task + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -7483,7 +8372,7 @@ export type GetAgentstatsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -7535,7 +8424,7 @@ export type GetAgentstatsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -7691,7 +8580,7 @@ export type GetApiTokensData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: user + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -7799,7 +8688,7 @@ export type GetApiTokensCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: user + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -8071,7 +8960,7 @@ export type GetChunksData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: agent,task + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -8123,7 +9012,7 @@ export type GetChunksCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: agent,task + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -8323,7 +9212,7 @@ export type GetConfigsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: configSection + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -8402,7 +9291,7 @@ export type GetConfigsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: configSection + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -8637,7 +9526,7 @@ export type GetConfigsectionsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -8689,7 +9578,7 @@ export type GetConfigsectionsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -8808,7 +9697,7 @@ export type GetCrackersData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: crackerBinaryType,tasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -8916,7 +9805,7 @@ export type GetCrackersCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: crackerBinaryType,tasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -9289,7 +10178,7 @@ export type GetCrackertypesData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: crackerVersions,tasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -9397,7 +10286,7 @@ export type GetCrackertypesCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: crackerVersions,tasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -9770,7 +10659,7 @@ export type GetFilesData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: accessGroup + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -9878,7 +10767,7 @@ export type GetFilesCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: accessGroup + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -10177,7 +11066,7 @@ export type GetGlobalpermissiongroupsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: userMembers + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -10285,7 +11174,7 @@ export type GetGlobalpermissiongroupsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: userMembers + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -10631,7 +11520,7 @@ export type GetHashesData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: chunk,hashlist + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -10683,7 +11572,7 @@ export type GetHashesCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: chunk,hashlist + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -10910,7 +11799,7 @@ export type GetHashlistsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -11018,7 +11907,7 @@ export type GetHashlistsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: accessGroup,hashType,hashes,hashlists,tasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -11391,7 +12280,7 @@ export type GetHashtypesData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -11499,7 +12388,7 @@ export type GetHashtypesCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -11663,7 +12552,7 @@ export type GetHealthcheckagentsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: agent,healthCheck + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -11715,7 +12604,7 @@ export type GetHealthcheckagentsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: agent,healthCheck + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -11942,7 +12831,7 @@ export type GetHealthchecksData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -12050,7 +12939,7 @@ export type GetHealthchecksCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: crackerBinary,hashType,healthCheckAgents + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -12423,7 +13312,7 @@ export type GetLogentriesData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -12531,7 +13420,7 @@ export type GetLogentriesCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -12722,7 +13611,7 @@ export type GetNotificationsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: user + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -12830,7 +13719,7 @@ export type GetNotificationsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: user + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -13129,7 +14018,7 @@ export type GetPreprocessorsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -13237,7 +14126,7 @@ export type GetPreprocessorsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -13428,7 +14317,7 @@ export type GetPretasksData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: pretaskFiles + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -13536,7 +14425,7 @@ export type GetPretasksCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: pretaskFiles + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -13882,7 +14771,7 @@ export type GetSpeedsData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: agent,task + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -13934,7 +14823,7 @@ export type GetSpeedsCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: agent,task + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -14161,7 +15050,7 @@ export type GetSupertasksData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: pretasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -14269,7 +15158,7 @@ export type GetSupertasksCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: pretasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -14642,7 +15531,7 @@ export type GetTasksData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -14750,7 +15639,7 @@ export type GetTasksCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: crackerBinary,crackerBinaryType,hashlist,assignedAgents,files,speeds + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -15123,7 +16012,7 @@ export type GetTaskwrappersData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -15202,7 +16091,7 @@ export type GetTaskwrappersCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: accessGroup,hashlist,hashType,task,tasks + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -15575,7 +16464,7 @@ export type GetUsersData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -15683,7 +16572,7 @@ export type GetUsersCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: globalPermissionGroup,accessGroups + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -16056,7 +16945,7 @@ export type GetVouchersData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; @@ -16164,7 +17053,7 @@ export type GetVouchersCountData = { [key: string]: unknown; }; /** - * Items to include, comma seperated. Possible options: + * Items to include, comma seperated. Possible options: Array */ include?: string; }; diff --git a/src/generated/api/zod.gen.ts b/src/generated/api/zod.gen.ts index c3ba2cf47..2d65f023e 100644 --- a/src/generated/api/zod.gen.ts +++ b/src/generated/api/zod.gen.ts @@ -78,36 +78,53 @@ export const zAccessGroupResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('agentMembers').optional(), - attributes: z.object({ - agentId: z.int().optional(), - agentName: z.string().optional(), - uid: z.string().optional(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]).optional(), - devices: z.string().optional(), - cmdPars: z.string().optional(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]).optional(), - isActive: z.boolean().optional(), - isTrusted: z.boolean().optional(), - token: z.string().optional(), - lastAct: z.string().optional(), - lastTime: z.number().optional(), - lastIp: z.string().optional(), - userId: z.int().optional(), - cpuOnly: z.boolean().optional(), - clientSignature: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('userMembers'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('agentMembers'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + })])).optional() }); export const zAccessGroupPostPatchResponse = z.object({ @@ -165,36 +182,53 @@ export const zAccessGroupListResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('agentMembers').optional(), - attributes: z.object({ - agentId: z.int().optional(), - agentName: z.string().optional(), - uid: z.string().optional(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]).optional(), - devices: z.string().optional(), - cmdPars: z.string().optional(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]).optional(), - isActive: z.boolean().optional(), - isTrusted: z.boolean().optional(), - token: z.string().optional(), - lastAct: z.string().optional(), - lastTime: z.number().optional(), - lastIp: z.string().optional(), - userId: z.int().optional(), - cpuOnly: z.boolean().optional(), - clientSignature: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('userMembers'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('agentMembers'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + })])).optional() }); export const zAccessGroupRelationAgentMembers = z.object({ @@ -349,16 +383,128 @@ export const zAgentResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('assignments').optional(), - attributes: z.object({ - assignmentId: z.int().optional(), - taskId: z.int().optional(), - agentId: z.int().optional(), - benchmark: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('accessGroups'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentStats'), + attributes: z.object({ + agentId: z.int(), + statType: z.union([ + z.literal(1), + z.literal(2), + z.literal(3) + ]), + time: z.number(), + value: z.array(z.int()) + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentErrors'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + chunkId: z.int(), + time: z.number(), + error: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('chunks'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), + cracked: z.int(), + speed: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('assignments'), + attributes: z.object({ + taskId: z.int(), + agentId: z.int(), + benchmark: z.string() + }) + }) + ])).optional() }); export const zAgentPostPatchResponse = z.object({ @@ -510,16 +656,128 @@ export const zAgentListResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('assignments').optional(), - attributes: z.object({ - assignmentId: z.int().optional(), - taskId: z.int().optional(), - agentId: z.int().optional(), - benchmark: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('accessGroups'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentStats'), + attributes: z.object({ + agentId: z.int(), + statType: z.union([ + z.literal(1), + z.literal(2), + z.literal(3) + ]), + time: z.number(), + value: z.array(z.int()) + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentErrors'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + chunkId: z.int(), + time: z.number(), + error: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('chunks'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), + cracked: z.int(), + speed: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('assignments'), + attributes: z.object({ + taskId: z.int(), + agentId: z.int(), + benchmark: z.string() + }) + }) + ])).optional() }); export const zAgentRelationAssignments = z.object({ @@ -599,38 +857,65 @@ export const zAgentAssignmentResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('task').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zAgentAssignmentPostPatchResponse = z.object({ @@ -692,38 +977,65 @@ export const zAgentAssignmentListResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('task').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zAgentAssignmentRelationTask = z.object({ @@ -791,7 +1103,7 @@ export const zAgentBinaryResponse = z.object({ }) }), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zAgentBinaryPostPatchResponse = z.object({ @@ -838,7 +1150,7 @@ export const zAgentBinaryListResponse = z.object({ }) })), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zAgentErrorResponse = z.object({ @@ -877,36 +1189,35 @@ export const zAgentErrorResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('task').optional(), + id: z.int(), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) })).optional() }); @@ -946,36 +1257,35 @@ export const zAgentErrorListResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('task').optional(), + id: z.int(), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) })).optional() }); @@ -1020,7 +1330,7 @@ export const zAgentStatResponse = z.object({ }) }), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zAgentStatListResponse = z.object({ @@ -1050,7 +1360,7 @@ export const zAgentStatListResponse = z.object({ }) })), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zApiTokenCreate = z.object({ @@ -1111,26 +1421,23 @@ export const zApiTokenResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('user').optional(), + id: z.int(), + type: z.literal('user'), attributes: z.object({ - id: z.int().optional(), - name: z.string().optional(), - email: z.string().optional(), - passwordHash: z.string().optional(), - passwordSalt: z.string().optional(), - isValid: z.boolean().optional(), - isComputedPassword: z.boolean().optional(), - lastLoginDate: z.number().optional(), - registeredSince: z.number().optional(), - sessionLifetime: z.int().optional(), - globalPermissionGroupId: z.int().optional(), - yubikey: z.string().optional(), - otp1: z.string().optional(), - otp2: z.string().optional(), - otp3: z.string().optional(), - otp4: z.string().optional() - }).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) })).optional() }); @@ -1188,26 +1495,23 @@ export const zApiTokenListResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('user').optional(), + id: z.int(), + type: z.literal('user'), attributes: z.object({ - id: z.int().optional(), - name: z.string().optional(), - email: z.string().optional(), - passwordHash: z.string().optional(), - passwordSalt: z.string().optional(), - isValid: z.boolean().optional(), - isComputedPassword: z.boolean().optional(), - lastLoginDate: z.number().optional(), - registeredSince: z.number().optional(), - sessionLifetime: z.int().optional(), - globalPermissionGroupId: z.int().optional(), - yubikey: z.string().optional(), - otp1: z.string().optional(), - otp2: z.string().optional(), - otp3: z.string().optional(), - otp4: z.string().optional() - }).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) })).optional() }); @@ -1288,38 +1592,65 @@ export const zChunkResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('task').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zChunkListResponse = z.object({ @@ -1385,38 +1716,65 @@ export const zChunkListResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('task').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zChunkRelationTask = z.object({ @@ -1477,12 +1835,11 @@ export const zConfigResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('configSection').optional(), + id: z.int(), + type: z.literal('configSection'), attributes: z.object({ - configSectionId: z.int().optional(), - sectionName: z.string().optional() - }).optional() + sectionName: z.string() + }) })).optional() }); @@ -1536,12 +1893,11 @@ export const zConfigListResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('configSection').optional(), + id: z.int(), + type: z.literal('configSection'), attributes: z.object({ - configSectionId: z.int().optional(), - sectionName: z.string().optional() - }).optional() + sectionName: z.string() + }) })).optional() }); @@ -1579,7 +1935,7 @@ export const zConfigSectionResponse = z.object({ }) }), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zConfigSectionListResponse = z.object({ @@ -1602,7 +1958,7 @@ export const zConfigSectionListResponse = z.object({ }) })), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zCrackerBinaryCreate = z.object({ @@ -1672,38 +2028,44 @@ export const zCrackerBinaryResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zCrackerBinaryPostPatchResponse = z.object({ @@ -1767,38 +2129,44 @@ export const zCrackerBinaryListResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zCrackerBinaryRelationTasks = z.object({ @@ -1876,38 +2244,46 @@ export const zCrackerBinaryTypeResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('crackerVersions'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zCrackerBinaryTypePostPatchResponse = z.object({ @@ -1967,38 +2343,46 @@ export const zCrackerBinaryTypeListResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('crackerVersions'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zCrackerBinaryTypeRelationTasks = z.object({ @@ -2093,12 +2477,11 @@ export const zFileResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('accessGroup').optional(), + id: z.int(), + type: z.literal('accessGroup'), attributes: z.object({ - accessGroupId: z.int().optional(), - groupName: z.string().optional() - }).optional() + groupName: z.string() + }) })).optional() }); @@ -2133,12 +2516,11 @@ export const zFileSingleResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('accessGroup').optional(), + id: z.int(), + type: z.literal('accessGroup'), attributes: z.object({ - accessGroupId: z.int().optional(), - groupName: z.string().optional() - }).optional() + groupName: z.string() + }) })).optional() }); @@ -2208,12 +2590,11 @@ export const zFileListResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('accessGroup').optional(), + id: z.int(), + type: z.literal('accessGroup'), attributes: z.object({ - accessGroupId: z.int().optional(), - groupName: z.string().optional() - }).optional() + groupName: z.string() + }) })).optional() }); @@ -2284,26 +2665,23 @@ export const zGlobalPermissionGroupResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('userMembers').optional(), + id: z.int(), + type: z.literal('userMembers'), attributes: z.object({ - id: z.int().optional(), - name: z.string().optional(), - email: z.string().optional(), - passwordHash: z.string().optional(), - passwordSalt: z.string().optional(), - isValid: z.boolean().optional(), - isComputedPassword: z.boolean().optional(), - lastLoginDate: z.number().optional(), - registeredSince: z.number().optional(), - sessionLifetime: z.int().optional(), - globalPermissionGroupId: z.int().optional(), - yubikey: z.string().optional(), - otp1: z.string().optional(), - otp2: z.string().optional(), - otp3: z.string().optional(), - otp4: z.string().optional() - }).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) })).optional() }); @@ -2355,26 +2733,23 @@ export const zGlobalPermissionGroupListResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('userMembers').optional(), + id: z.int(), + type: z.literal('userMembers'), attributes: z.object({ - id: z.int().optional(), - name: z.string().optional(), - email: z.string().optional(), - passwordHash: z.string().optional(), - passwordSalt: z.string().optional(), - isValid: z.boolean().optional(), - isComputedPassword: z.boolean().optional(), - lastLoginDate: z.number().optional(), - registeredSince: z.number().optional(), - sessionLifetime: z.int().optional(), - globalPermissionGroupId: z.int().optional(), - yubikey: z.string().optional(), - otp1: z.string().optional(), - otp2: z.string().optional(), - otp3: z.string().optional(), - otp4: z.string().optional() - }).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) })).optional() }); @@ -2440,35 +2815,62 @@ export const zHashResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('hashlist').optional(), - attributes: z.object({ - hashlistSeperator: z.string().optional(), - sourceType: z.string().optional(), - sourceData: z.string().optional(), - hashlistId: z.int().optional(), - name: z.string().optional(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]).optional(), - hashTypeId: z.int().optional(), - hashCount: z.int().optional(), - separator: z.string().optional(), - cracked: z.int().optional(), - isSecret: z.boolean().optional(), - isHexSalt: z.boolean().optional(), - isSalted: z.boolean().optional(), - accessGroupId: z.int().optional(), - notes: z.string().optional(), - useBrain: z.boolean().optional(), - brainFeatures: z.int().optional(), - isArchived: z.boolean().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), + cracked: z.int(), + speed: z.number() + }) + }), z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + })])).optional() }); export const zHashListResponse = z.object({ @@ -2519,35 +2921,62 @@ export const zHashListResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('hashlist').optional(), - attributes: z.object({ - hashlistSeperator: z.string().optional(), - sourceType: z.string().optional(), - sourceData: z.string().optional(), - hashlistId: z.int().optional(), - name: z.string().optional(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]).optional(), - hashTypeId: z.int().optional(), - hashCount: z.int().optional(), - separator: z.string().optional(), - cracked: z.int().optional(), - isSecret: z.boolean().optional(), - isHexSalt: z.boolean().optional(), - isSalted: z.boolean().optional(), - accessGroupId: z.int().optional(), - notes: z.string().optional(), - useBrain: z.boolean().optional(), - brainFeatures: z.int().optional(), - isArchived: z.boolean().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), + cracked: z.int(), + speed: z.number() + }) + }), z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + })])).optional() }); export const zHashRelationHashlist = z.object({ @@ -2695,38 +3124,97 @@ export const zHashlistResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashes'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlists'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ])).optional() }); export const zHashlistSingleResponse = z.object({ @@ -2807,38 +3295,97 @@ export const zHashlistSingleResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashes'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlists'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ])).optional() }); export const zHashlistPostPatchResponse = z.object({ @@ -2962,38 +3509,97 @@ export const zHashlistListResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashes'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlists'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ])).optional() }); export const zHashlistRelationTasks = z.object({ @@ -3055,7 +3661,7 @@ export const zHashTypeResponse = z.object({ }) }), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zHashTypePostPatchResponse = z.object({ @@ -3096,7 +3702,7 @@ export const zHashTypeListResponse = z.object({ }) })), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zHealthCheckAgentResponse = z.object({ @@ -3151,24 +3757,54 @@ export const zHealthCheckAgentResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('healthCheck').optional(), - attributes: z.object({ - healthCheckId: z.int().optional(), - time: z.number().optional(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]).optional(), - checkType: z.union([z.literal(0), z.literal(3200)]).optional(), - hashtypeId: z.int().optional(), - crackerBinaryId: z.int().optional(), - expectedCracks: z.int().optional(), - attackCmd: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('healthCheck'), + attributes: z.object({ + time: z.number(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]), + checkType: z.union([ + z.literal(0), + z.literal(3200) + ]), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() + }) + })])).optional() }); export const zHealthCheckAgentListResponse = z.object({ @@ -3223,24 +3859,54 @@ export const zHealthCheckAgentListResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('healthCheck').optional(), - attributes: z.object({ - healthCheckId: z.int().optional(), - time: z.number().optional(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]).optional(), - checkType: z.union([z.literal(0), z.literal(3200)]).optional(), - hashtypeId: z.int().optional(), - crackerBinaryId: z.int().optional(), - expectedCracks: z.int().optional(), - attackCmd: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('healthCheck'), + attributes: z.object({ + time: z.number(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]), + checkType: z.union([ + z.literal(0), + z.literal(3200) + ]), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() + }) + })])).optional() }); export const zHealthCheckAgentRelationHealthCheck = z.object({ @@ -3261,7 +3927,10 @@ export const zHealthCheckCreate = z.object({ data: z.object({ type: z.literal('healthCheck'), attributes: z.object({ - checkType: z.union([z.literal(0), z.literal(3200)]), + checkType: z.union([ + z.literal(0), + z.literal(3200) + ]), hashtypeId: z.int(), crackerBinaryId: z.int() }) @@ -3272,7 +3941,10 @@ export const zHealthCheckPatch = z.object({ data: z.object({ type: z.literal('healthCheck'), attributes: z.object({ - checkType: z.union([z.literal(0), z.literal(3200)]).optional() + checkType: z.union([ + z.literal(0), + z.literal(3200) + ]).optional() }) }) }); @@ -3299,7 +3971,10 @@ export const zHealthCheckResponse = z.object({ z.literal(0), z.literal(1) ]), - checkType: z.union([z.literal(0), z.literal(3200)]), + checkType: z.union([ + z.literal(0), + z.literal(3200) + ]), hashtypeId: z.int(), crackerBinaryId: z.int(), expectedCracks: z.int(), @@ -3338,25 +4013,45 @@ export const zHealthCheckResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('healthCheckAgents').optional(), - attributes: z.object({ - healthCheckAgentId: z.int().optional(), - healthCheckId: z.int().optional(), - agentId: z.int().optional(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]).optional(), - cracked: z.int().optional(), - numGpus: z.int().optional(), - start: z.number().optional(), - end: z.number().optional(), - errors: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('healthCheckAgents'), + attributes: z.object({ + healthCheckId: z.int(), + agentId: z.int(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]), + cracked: z.int(), + numGpus: z.int(), + start: z.number(), + end: z.number(), + errors: z.string() + }) + }) + ])).optional() }); export const zHealthCheckPostPatchResponse = z.object({ @@ -3374,7 +4069,10 @@ export const zHealthCheckPostPatchResponse = z.object({ z.literal(0), z.literal(1) ]), - checkType: z.union([z.literal(0), z.literal(3200)]), + checkType: z.union([ + z.literal(0), + z.literal(3200) + ]), hashtypeId: z.int(), crackerBinaryId: z.int(), expectedCracks: z.int(), @@ -3405,7 +4103,10 @@ export const zHealthCheckListResponse = z.object({ z.literal(0), z.literal(1) ]), - checkType: z.union([z.literal(0), z.literal(3200)]), + checkType: z.union([ + z.literal(0), + z.literal(3200) + ]), hashtypeId: z.int(), crackerBinaryId: z.int(), expectedCracks: z.int(), @@ -3444,25 +4145,45 @@ export const zHealthCheckListResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('healthCheckAgents').optional(), - attributes: z.object({ - healthCheckAgentId: z.int().optional(), - healthCheckId: z.int().optional(), - agentId: z.int().optional(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]).optional(), - cracked: z.int().optional(), - numGpus: z.int().optional(), - start: z.number().optional(), - end: z.number().optional(), - errors: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('healthCheckAgents'), + attributes: z.object({ + healthCheckId: z.int(), + agentId: z.int(), + status: z.union([ + z.literal(-1), + z.literal(0), + z.literal(1) + ]), + cracked: z.int(), + numGpus: z.int(), + start: z.number(), + end: z.number(), + errors: z.string() + }) + }) + ])).optional() }); export const zHealthCheckRelationHealthCheckAgents = z.object({ @@ -3509,20 +4230,23 @@ export const zLogEntryResponse = z.object({ id: z.int(), type: z.literal('logEntry'), attributes: z.object({ - issuer: z.enum(['API', 'User']), + issuer: z.union([ + z.literal('API'), + z.literal('User') + ]), issuerId: z.string(), - level: z.enum([ - 'warning', - 'error', - 'fatal error', - 'information' + level: z.union([ + z.literal('warning'), + z.literal('error'), + z.literal('fatal error'), + z.literal('information') ]), message: z.string(), time: z.number() }) }), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zLogEntryPostPatchResponse = z.object({ @@ -3534,13 +4258,16 @@ export const zLogEntryPostPatchResponse = z.object({ id: z.int(), type: z.literal('logEntry'), attributes: z.object({ - issuer: z.enum(['API', 'User']), + issuer: z.union([ + z.literal('API'), + z.literal('User') + ]), issuerId: z.string(), - level: z.enum([ - 'warning', - 'error', - 'fatal error', - 'information' + level: z.union([ + z.literal('warning'), + z.literal('error'), + z.literal('fatal error'), + z.literal('information') ]), message: z.string(), time: z.number() @@ -3564,20 +4291,23 @@ export const zLogEntryListResponse = z.object({ id: z.int(), type: z.literal('logEntry'), attributes: z.object({ - issuer: z.enum(['API', 'User']), + issuer: z.union([ + z.literal('API'), + z.literal('User') + ]), issuerId: z.string(), - level: z.enum([ - 'warning', - 'error', - 'fatal error', - 'information' + level: z.union([ + z.literal('warning'), + z.literal('error'), + z.literal('fatal error'), + z.literal('information') ]), message: z.string(), time: z.number() }) })), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zNotificationSettingCreate = z.object({ @@ -3585,29 +4315,29 @@ export const zNotificationSettingCreate = z.object({ type: z.literal('notificationSetting'), attributes: z.object({ actionFilter: z.string(), - action: z.enum([ - 'createNotification', - 'setActive', - 'deleteNotification' + action: z.union([ + z.literal('createNotification'), + z.literal('setActive'), + z.literal('deleteNotification') ]), - notification: z.enum([ - 'taskComplete', - 'agentError', - 'ownAgentError', - 'logError', - 'newTask', - 'newHashlist', - 'hashlistAllCracked', - 'hashlistCrackedHash', - 'userCreated', - 'userDeleted', - 'userLoginFailed', - 'logWarn', - 'logFatal', - 'newAgent', - 'deleteTask', - 'deleteHashlist', - 'deleteAgent' + notification: z.union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') ]), receiver: z.string() }) @@ -3618,30 +4348,30 @@ export const zNotificationSettingPatch = z.object({ data: z.object({ type: z.literal('notificationSetting'), attributes: z.object({ - action: z.enum([ - 'createNotification', - 'setActive', - 'deleteNotification' + action: z.union([ + z.literal('createNotification'), + z.literal('setActive'), + z.literal('deleteNotification') ]).optional(), isActive: z.boolean().optional(), - notification: z.enum([ - 'taskComplete', - 'agentError', - 'ownAgentError', - 'logError', - 'newTask', - 'newHashlist', - 'hashlistAllCracked', - 'hashlistCrackedHash', - 'userCreated', - 'userDeleted', - 'userLoginFailed', - 'logWarn', - 'logFatal', - 'newAgent', - 'deleteTask', - 'deleteHashlist', - 'deleteAgent' + notification: z.union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') ]).optional(), receiver: z.string().optional() }) @@ -3664,30 +4394,30 @@ export const zNotificationSettingResponse = z.object({ id: z.int(), type: z.literal('notificationSetting'), attributes: z.object({ - action: z.enum([ - 'createNotification', - 'setActive', - 'deleteNotification' + action: z.union([ + z.literal('createNotification'), + z.literal('setActive'), + z.literal('deleteNotification') ]), objectId: z.int(), - notification: z.enum([ - 'taskComplete', - 'agentError', - 'ownAgentError', - 'logError', - 'newTask', - 'newHashlist', - 'hashlistAllCracked', - 'hashlistCrackedHash', - 'userCreated', - 'userDeleted', - 'userLoginFailed', - 'logWarn', - 'logFatal', - 'newAgent', - 'deleteTask', - 'deleteHashlist', - 'deleteAgent' + notification: z.union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') ]), userId: z.int(), receiver: z.string(), @@ -3705,28 +4435,25 @@ export const zNotificationSettingResponse = z.object({ id: z.int() }).nullish() }) - }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('user').optional(), - attributes: z.object({ - id: z.int().optional(), - name: z.string().optional(), - email: z.string().optional(), - passwordHash: z.string().optional(), - passwordSalt: z.string().optional(), - isValid: z.boolean().optional(), - isComputedPassword: z.boolean().optional(), - lastLoginDate: z.number().optional(), - registeredSince: z.number().optional(), - sessionLifetime: z.int().optional(), - globalPermissionGroupId: z.int().optional(), - yubikey: z.string().optional(), - otp1: z.string().optional(), - otp2: z.string().optional(), - otp3: z.string().optional(), - otp4: z.string().optional() - }).optional() + }).optional(), + included: z.array(z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) })).optional() }); @@ -3739,30 +4466,30 @@ export const zNotificationSettingPostPatchResponse = z.object({ id: z.int(), type: z.literal('notificationSetting'), attributes: z.object({ - action: z.enum([ - 'createNotification', - 'setActive', - 'deleteNotification' + action: z.union([ + z.literal('createNotification'), + z.literal('setActive'), + z.literal('deleteNotification') ]), objectId: z.int(), - notification: z.enum([ - 'taskComplete', - 'agentError', - 'ownAgentError', - 'logError', - 'newTask', - 'newHashlist', - 'hashlistAllCracked', - 'hashlistCrackedHash', - 'userCreated', - 'userDeleted', - 'userLoginFailed', - 'logWarn', - 'logFatal', - 'newAgent', - 'deleteTask', - 'deleteHashlist', - 'deleteAgent' + notification: z.union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') ]), userId: z.int(), receiver: z.string(), @@ -3787,30 +4514,30 @@ export const zNotificationSettingListResponse = z.object({ id: z.int(), type: z.literal('notificationSetting'), attributes: z.object({ - action: z.enum([ - 'createNotification', - 'setActive', - 'deleteNotification' + action: z.union([ + z.literal('createNotification'), + z.literal('setActive'), + z.literal('deleteNotification') ]), objectId: z.int(), - notification: z.enum([ - 'taskComplete', - 'agentError', - 'ownAgentError', - 'logError', - 'newTask', - 'newHashlist', - 'hashlistAllCracked', - 'hashlistCrackedHash', - 'userCreated', - 'userDeleted', - 'userLoginFailed', - 'logWarn', - 'logFatal', - 'newAgent', - 'deleteTask', - 'deleteHashlist', - 'deleteAgent' + notification: z.union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') ]), userId: z.int(), receiver: z.string(), @@ -3830,26 +4557,23 @@ export const zNotificationSettingListResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('user').optional(), + id: z.int(), + type: z.literal('user'), attributes: z.object({ - id: z.int().optional(), - name: z.string().optional(), - email: z.string().optional(), - passwordHash: z.string().optional(), - passwordSalt: z.string().optional(), - isValid: z.boolean().optional(), - isComputedPassword: z.boolean().optional(), - lastLoginDate: z.number().optional(), - registeredSince: z.number().optional(), - sessionLifetime: z.int().optional(), - globalPermissionGroupId: z.int().optional(), - yubikey: z.string().optional(), - otp1: z.string().optional(), - otp2: z.string().optional(), - otp3: z.string().optional(), - otp4: z.string().optional() - }).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) })).optional() }); @@ -3920,7 +4644,7 @@ export const zPreprocessorResponse = z.object({ }) }), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zPreprocessorPostPatchResponse = z.object({ @@ -3967,7 +4691,7 @@ export const zPreprocessorListResponse = z.object({ }) })), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zPreTaskCreate = z.object({ @@ -4054,24 +4778,23 @@ export const zPreTaskResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('pretaskFiles').optional(), + id: z.int(), + type: z.literal('pretaskFiles'), attributes: z.object({ - sourceType: z.string().optional(), - sourceData: z.string().optional(), - fileId: z.int().optional(), - filename: z.string().optional(), - size: z.number().optional(), - isSecret: z.boolean().optional(), + sourceType: z.string(), + sourceData: z.string(), + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), fileType: z.union([ z.literal(0), z.literal(1), z.literal(2), z.literal(100) - ]).optional(), - accessGroupId: z.int().optional(), - lineCount: z.number().optional() - }).optional() + ]), + accessGroupId: z.int(), + lineCount: z.number() + }) })).optional() }); @@ -4145,24 +4868,23 @@ export const zPreTaskListResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('pretaskFiles').optional(), + id: z.int(), + type: z.literal('pretaskFiles'), attributes: z.object({ - sourceType: z.string().optional(), - sourceData: z.string().optional(), - fileId: z.int().optional(), - filename: z.string().optional(), - size: z.number().optional(), - isSecret: z.boolean().optional(), + sourceType: z.string(), + sourceData: z.string(), + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), fileType: z.union([ z.literal(0), z.literal(1), z.literal(2), z.literal(100) - ]).optional(), - accessGroupId: z.int().optional(), - lineCount: z.number().optional() - }).optional() + ]), + accessGroupId: z.int(), + lineCount: z.number() + }) })).optional() }); @@ -4224,38 +4946,65 @@ export const zSpeedResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('task').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zSpeedListResponse = z.object({ @@ -4302,38 +5051,65 @@ export const zSpeedListResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('task').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + })])).optional() }); export const zSpeedRelationTask = z.object({ @@ -4401,24 +5177,23 @@ export const zSupertaskResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('pretasks').optional(), + id: z.int(), + type: z.literal('pretasks'), attributes: z.object({ - files: z.array(z.int()).optional(), - pretaskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - isMaskImport: z.boolean().optional(), - crackerBinaryTypeId: z.int().optional() - }).optional() + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int() + }) })).optional() }); @@ -4443,24 +5218,23 @@ export const zSupertaskSingleResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('pretasks').optional(), + id: z.int(), + type: z.literal('pretasks'), attributes: z.object({ - files: z.array(z.int()).optional(), - pretaskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - isMaskImport: z.boolean().optional(), - crackerBinaryTypeId: z.int().optional() - }).optional() + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int() + }) })).optional() }); @@ -4510,24 +5284,23 @@ export const zSupertaskListResponse = z.object({ }) }).optional(), included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('pretasks').optional(), + id: z.int(), + type: z.literal('pretasks'), attributes: z.object({ - files: z.array(z.int()).optional(), - pretaskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - isMaskImport: z.boolean().optional(), - crackerBinaryTypeId: z.int().optional() - }).optional() + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int() + }) })).optional() }); @@ -4710,17 +5483,112 @@ export const zTaskResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('speeds').optional(), - attributes: z.object({ - speedId: z.int().optional(), - agentId: z.int().optional(), - taskId: z.int().optional(), - speed: z.number().optional(), - time: z.number().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('assignedAgents'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('files'), + attributes: z.object({ + sourceType: z.string(), + sourceData: z.string(), + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]), + accessGroupId: z.int(), + lineCount: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('speeds'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + speed: z.number(), + time: z.number() + }) + }) + ])).optional() }); export const zTaskPostPatchResponse = z.object({ @@ -4888,17 +5756,112 @@ export const zTaskListResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('speeds').optional(), - attributes: z.object({ - speedId: z.int().optional(), - agentId: z.int().optional(), - taskId: z.int().optional(), - speed: z.number().optional(), - time: z.number().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('assignedAgents'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([ + z.literal(0), + z.literal(1), + z.literal(2) + ]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('files'), + attributes: z.object({ + sourceType: z.string(), + sourceData: z.string(), + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(100) + ]), + accessGroupId: z.int(), + lineCount: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('speeds'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + speed: z.number(), + time: z.number() + }) + }) + ])).optional() }); export const zTaskRelationSpeeds = z.object({ @@ -4946,7 +5909,10 @@ export const zTaskWrapperResponse = z.object({ attributes: z.object({ priority: z.int(), maxAgents: z.int(), - taskType: z.union([z.literal(0), z.literal(1)]), + taskType: z.union([ + z.literal(0), + z.literal(1) + ]), hashlistId: z.int(), accessGroupId: z.int(), taskWrapperName: z.string(), @@ -5006,38 +5972,114 @@ export const zTaskWrapperResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ])).optional() }); export const zTaskWrapperSingleResponse = z.object({ @@ -5047,7 +6089,10 @@ export const zTaskWrapperSingleResponse = z.object({ attributes: z.object({ priority: z.int(), maxAgents: z.int(), - taskType: z.union([z.literal(0), z.literal(1)]), + taskType: z.union([ + z.literal(0), + z.literal(1) + ]), hashlistId: z.int(), accessGroupId: z.int(), taskWrapperName: z.string(), @@ -5107,38 +6152,114 @@ export const zTaskWrapperSingleResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ])).optional() }); export const zTaskWrapperPostPatchResponse = z.object({ @@ -5152,7 +6273,10 @@ export const zTaskWrapperPostPatchResponse = z.object({ attributes: z.object({ priority: z.int(), maxAgents: z.int(), - taskType: z.union([z.literal(0), z.literal(1)]), + taskType: z.union([ + z.literal(0), + z.literal(1) + ]), hashlistId: z.int(), accessGroupId: z.int(), taskWrapperName: z.string(), @@ -5180,7 +6304,10 @@ export const zTaskWrapperListResponse = z.object({ attributes: z.object({ priority: z.int(), maxAgents: z.int(), - taskType: z.union([z.literal(0), z.literal(1)]), + taskType: z.union([ + z.literal(0), + z.literal(1) + ]), hashlistId: z.int(), accessGroupId: z.int(), taskWrapperName: z.string(), @@ -5240,38 +6367,114 @@ export const zTaskWrapperListResponse = z.object({ })).optional() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('tasks').optional(), - attributes: z.object({ - hashlistId: z.int().optional(), - files: z.array(z.int()).optional(), - taskId: z.int().optional(), - taskName: z.string().optional(), - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - statusTimer: z.int().optional(), - keyspace: z.number().optional(), - keyspaceProgress: z.number().optional(), - priority: z.int().optional(), - maxAgents: z.int().optional(), - color: z.string().optional(), - isSmall: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - useNewBench: z.boolean().optional(), - skipKeyspace: z.number().optional(), - crackerBinaryId: z.int().optional(), - crackerBinaryTypeId: z.int().optional(), - taskWrapperId: z.int().optional(), - isArchived: z.boolean().optional(), - notes: z.string().optional(), - staticChunks: z.int().optional(), - chunkSize: z.number().optional(), - forcePipe: z.boolean().optional(), - preprocessorId: z.int().optional(), - preprocessorCommand: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + hashlistSeperator: z.string(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3) + ]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('tasks'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ])).optional() }); export const zTaskWrapperRelationTasks = z.object({ @@ -5364,14 +6567,20 @@ export const zUserResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('accessGroups').optional(), - attributes: z.object({ - accessGroupId: z.int().optional(), - groupName: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('globalPermissionGroup'), + attributes: z.object({ + name: z.string(), + permissions: z.record(z.string(), z.boolean()) + }) + }), z.object({ + id: z.int(), + type: z.literal('accessGroups'), + attributes: z.object({ + groupName: z.string() + }) + })])).optional() }); export const zUserPostPatchResponse = z.object({ @@ -5453,14 +6662,20 @@ export const zUserListResponse = z.object({ }).nullish() }) }).optional(), - included: z.array(z.object({ - id: z.int().optional(), - type: z.literal('accessGroups').optional(), - attributes: z.object({ - accessGroupId: z.int().optional(), - groupName: z.string().optional() - }).optional() - })).optional() + included: z.array(z.union([z.object({ + id: z.int(), + type: z.literal('globalPermissionGroup'), + attributes: z.object({ + name: z.string(), + permissions: z.record(z.string(), z.boolean()) + }) + }), z.object({ + id: z.int(), + type: z.literal('accessGroups'), + attributes: z.object({ + groupName: z.string() + }) + })])).optional() }); export const zUserRelationAccessGroups = z.object({ @@ -5516,7 +6731,7 @@ export const zVoucherResponse = z.object({ }) }), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zVoucherPostPatchResponse = z.object({ @@ -5555,7 +6770,7 @@ export const zVoucherListResponse = z.object({ }) })), relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.record(z.string(), z.unknown())).optional() + included: z.array(z.unknown()).optional() }); export const zAbortChunkHelperApi = z.object({ From aabbf1c09a7829b2d2aa47585421693e5a855052 Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Tue, 24 Mar 2026 14:24:10 +0100 Subject: [PATCH 06/14] Fix type errors due to strict mode being off --- openapi.json | 1028 ++++++++++-------------- src/app/core/_models/hashlist.model.ts | 2 +- src/app/core/_models/task.model.ts | 2 +- src/generated/api/types.gen.ts | 677 ++++++---------- src/generated/api/zod.gen.ts | 680 ++++++---------- 5 files changed, 915 insertions(+), 1474 deletions(-) diff --git a/openapi.json b/openapi.json index 6283b4f76..54abc7303 100644 --- a/openapi.json +++ b/openapi.json @@ -11280,8 +11280,11 @@ "self": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=25" + } } }, "data": { @@ -11356,7 +11359,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "userMembers" }, + "type": { "type": "string", "const": "user" }, "attributes": { "type": "object", "required": [ @@ -11397,7 +11400,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "agentMembers" }, + "type": { "type": "string", "const": "agent" }, "attributes": { "type": "object", "required": [ @@ -11442,7 +11445,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -11509,8 +11512,11 @@ "self": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/accessgroups?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/accessgroups?page[size]=25&page[before]=25" + } } }, "data": { @@ -11588,7 +11594,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "userMembers" }, + "type": { "type": "string", "const": "user" }, "attributes": { "type": "object", "required": [ @@ -11629,7 +11635,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "agentMembers" }, + "type": { "type": "string", "const": "agent" }, "attributes": { "type": "object", "required": [ @@ -11674,7 +11680,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -11753,7 +11759,7 @@ ] }, "uid": { "type": "string" }, - "userId": { "type": "integer" } + "userId": { "type": ["integer", "null"] } } } } @@ -11783,8 +11789,8 @@ "self": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/agents?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/agents?page[size]=25&page[before]=25" } } }, "data": { @@ -11837,7 +11843,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -12062,7 +12068,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "accessGroups" }, + "type": { "type": "string", "const": "accessGroup" }, "attributes": { "type": "object", "required": ["groupName"], @@ -12075,7 +12081,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "agentStats" }, + "type": { "type": "string", "const": "agentStat" }, "attributes": { "type": "object", "required": ["agentId", "statType", "time", "value"], @@ -12099,7 +12105,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "agentErrors" }, + "type": { "type": "string", "const": "agentError" }, "attributes": { "type": "object", "required": ["agentId", "taskId", "chunkId", "time", "error"], @@ -12118,7 +12124,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "chunks" }, + "type": { "type": "string", "const": "chunk" }, "attributes": { "type": "object", "required": [ @@ -12169,12 +12175,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, + "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -12200,8 +12204,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -12210,7 +12212,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -12234,7 +12236,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "assignments" }, + "type": { "type": "string", "const": "agentAssignment" }, "attributes": { "type": "object", "required": ["taskId", "agentId", "benchmark"], @@ -12318,7 +12320,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -12350,8 +12352,8 @@ "self": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agents?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/agents?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/agents?page[size]=25&page[before]=25" } } }, "data": { @@ -12406,7 +12408,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -12632,7 +12634,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "accessGroups" }, + "type": { "type": "string", "const": "accessGroup" }, "attributes": { "type": "object", "required": ["groupName"], @@ -12645,7 +12647,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "agentStats" }, + "type": { "type": "string", "const": "agentStat" }, "attributes": { "type": "object", "required": ["agentId", "statType", "time", "value"], @@ -12669,7 +12671,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "agentErrors" }, + "type": { "type": "string", "const": "agentError" }, "attributes": { "type": "object", "required": ["agentId", "taskId", "chunkId", "time", "error"], @@ -12688,7 +12690,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "chunks" }, + "type": { "type": "string", "const": "chunk" }, "attributes": { "type": "object", "required": [ @@ -12739,12 +12741,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, + "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -12770,8 +12770,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -12780,7 +12778,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -12804,7 +12802,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "assignments" }, + "type": { "type": "string", "const": "agentAssignment" }, "attributes": { "type": "object", "required": ["taskId", "agentId", "benchmark"], @@ -12872,7 +12870,7 @@ "agentId": { "type": "integer" }, "benchmark": { "type": "string" } }, - "required": ["taskId", "agentId"] + "required": ["taskId", "agentId", "benchmark"] } } } @@ -12915,8 +12913,14 @@ "self": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=25" + } } }, "data": { @@ -13044,7 +13048,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -13060,8 +13064,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -13087,8 +13089,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -13097,7 +13097,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -13180,8 +13180,14 @@ "self": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentassignments?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentassignments?page[size]=25&page[before]=25" + } } }, "data": { @@ -13312,7 +13318,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -13328,8 +13334,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -13355,8 +13359,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -13365,7 +13367,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -13482,8 +13484,14 @@ "self": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=25" + } } }, "data": { @@ -13571,8 +13579,14 @@ "self": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentbinaries?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentbinaries?page[size]=25&page[before]=25" + } } }, "data": { @@ -13632,8 +13646,11 @@ "self": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=25" + } } }, "data": { @@ -13696,8 +13713,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -13723,8 +13738,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -13733,7 +13746,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -13778,8 +13791,11 @@ "self": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/agenterrors?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/agenterrors?page[size]=25&page[before]=25" + } } }, "data": { @@ -13845,8 +13861,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -13872,8 +13886,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -13882,7 +13894,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -13949,8 +13961,11 @@ "self": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=25" + } } }, "data": { @@ -14004,8 +14019,11 @@ "self": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/agentstats?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/agentstats?page[size]=25&page[before]=25" + } } }, "data": { @@ -14100,8 +14118,11 @@ "self": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=25" + } } }, "data": { @@ -14112,7 +14133,7 @@ "type": { "type": "string", "const": "apiToken" }, "attributes": { "type": "object", - "required": ["startValid", "endValid", "userId", "isRevoked"], + "required": ["startValid", "endValid", "userId", "isRevoked", "token"], "properties": { "startValid": { "type": "integer", "format": "int64" }, "endValid": { "type": "integer", "format": "int64" }, @@ -14223,7 +14244,7 @@ "type": { "type": "string", "const": "apiToken" }, "attributes": { "type": "object", - "required": ["startValid", "endValid", "userId", "isRevoked"], + "required": ["startValid", "endValid", "userId", "isRevoked", "token"], "properties": { "startValid": { "type": "integer", "format": "int64" }, "endValid": { "type": "integer", "format": "int64" }, @@ -14259,8 +14280,11 @@ "self": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/apiTokens?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/apiTokens?page[size]=25&page[before]=25" + } } }, "data": { @@ -14273,7 +14297,7 @@ "type": { "type": "string", "const": "apiToken" }, "attributes": { "type": "object", - "required": ["startValid", "endValid", "userId", "isRevoked"], + "required": ["startValid", "endValid", "userId", "isRevoked", "token"], "properties": { "startValid": { "type": "integer", "format": "int64" }, "endValid": { "type": "integer", "format": "int64" }, @@ -14406,8 +14430,8 @@ "self": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/chunks?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/chunks?page[size]=25&page[before]=25" } } }, "data": { @@ -14569,7 +14593,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -14585,8 +14609,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -14612,8 +14634,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -14622,7 +14642,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -14670,8 +14690,8 @@ "self": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/chunks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/chunks?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/chunks?page[size]=25&page[before]=25" } } }, "data": { @@ -14836,7 +14856,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -14852,8 +14872,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -14879,8 +14897,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -14889,7 +14905,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -14976,8 +14992,8 @@ "self": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/configs?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/configs?page[size]=25&page[before]=25" } } }, "data": { @@ -15106,8 +15122,8 @@ "self": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/configs?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/configs?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/configs?page[size]=25&page[before]=25" } } }, "data": { @@ -15232,8 +15248,14 @@ "self": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/configsections?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/configsections?page[size]=25&page[before]=25" + } } }, "data": { @@ -15276,8 +15298,14 @@ "self": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/configsections?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/configsections?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/configsections?page[size]=25&page[before]=25" + } } }, "data": { @@ -15367,8 +15395,8 @@ "self": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/crackers?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/crackers?page[size]=25&page[before]=25" } } }, "data": { @@ -15466,12 +15494,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, + "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -15497,8 +15523,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -15507,7 +15531,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -15591,8 +15615,8 @@ "self": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/crackers?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/crackers?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/crackers?page[size]=25&page[before]=25" } } }, "data": { @@ -15693,12 +15717,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, + "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -15724,8 +15746,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -15734,7 +15754,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -15851,8 +15871,11 @@ "self": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=25" + } } }, "data": { @@ -15930,7 +15953,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "crackerVersions" }, + "type": { "type": "string", "const": "crackerBinary" }, "attributes": { "type": "object", "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], @@ -15948,12 +15971,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, + "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -15979,8 +16000,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -15989,7 +16008,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -16068,8 +16087,11 @@ "self": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/crackertypes?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/crackertypes?page[size]=25&page[before]=25" + } } }, "data": { @@ -16150,7 +16172,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "crackerVersions" }, + "type": { "type": "string", "const": "crackerBinary" }, "attributes": { "type": "object", "required": ["crackerBinaryTypeId", "version", "downloadUrl", "binaryName"], @@ -16168,12 +16190,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, + "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -16199,8 +16219,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -16209,7 +16227,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -16352,8 +16370,8 @@ "self": { "type": "string", "default": "/api/v2/ui/files?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/files?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/files?page[size]=25&page[before]=25" } } }, "data": { @@ -16584,8 +16602,8 @@ "self": { "type": "string", "default": "/api/v2/ui/files?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/files?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/files?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/files?page[size]=25&page[before]=25" } } }, "data": { @@ -16712,7 +16730,7 @@ "name": { "type": "string" }, "permissions": { "type": "object", "additionalProperties": { "type": "boolean" } } }, - "required": ["name"] + "required": ["name", "permissions"] } } } @@ -16764,9 +16782,12 @@ "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25" }, + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25" + }, "previous": { - "type": "string", + "type": ["string", "null"], "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25" } } @@ -16825,7 +16846,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "userMembers" }, + "type": { "type": "string", "const": "user" }, "attributes": { "type": "object", "required": [ @@ -16924,9 +16945,12 @@ "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25" }, + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25" + }, "previous": { - "type": "string", + "type": ["string", "null"], "default": "/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25" } } @@ -16988,7 +17012,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "userMembers" }, + "type": { "type": "string", "const": "user" }, "attributes": { "type": "object", "required": [ @@ -17084,8 +17108,8 @@ "self": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/hashes?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/hashes?page[size]=25&page[before]=25" } } }, "data": { @@ -17237,9 +17261,6 @@ "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -17256,9 +17277,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -17270,7 +17288,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -17313,8 +17331,8 @@ "self": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/hashes?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/hashes?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/hashes?page[size]=25&page[before]=25" } } }, "data": { @@ -17469,9 +17487,6 @@ "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -17488,9 +17503,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -17502,7 +17514,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -17562,7 +17574,7 @@ "attributes": { "type": "object", "properties": { - "hashlistSeperator": { "type": "string" }, + "hashlistSeperator": { "type": ["string", "null"] }, "sourceType": { "type": "string" }, "sourceData": { "type": "string" }, "name": { "type": "string" }, @@ -17576,7 +17588,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, "isSalted": { "type": "boolean" }, @@ -17653,8 +17665,11 @@ "self": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=25" + } } }, "data": { @@ -17693,7 +17708,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -17869,7 +17884,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "hashes" }, + "type": { "type": "string", "const": "hash" }, "attributes": { "type": "object", "required": [ @@ -17900,13 +17915,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "hashlists" }, + "type": { "type": "string", "const": "hashlist" }, "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -17923,9 +17935,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -17937,7 +17946,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -17956,12 +17965,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, + "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -17987,8 +17994,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -17997,7 +18002,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -18062,7 +18067,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -18238,7 +18243,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "hashes" }, + "type": { "type": "string", "const": "hash" }, "attributes": { "type": "object", "required": [ @@ -18269,13 +18274,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "hashlists" }, + "type": { "type": "string", "const": "hashlist" }, "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -18292,9 +18294,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -18306,7 +18305,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -18325,12 +18324,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, + "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -18356,8 +18353,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -18366,7 +18361,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -18443,7 +18438,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -18482,8 +18477,11 @@ "self": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/hashlists?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/hashlists?page[size]=25&page[before]=25" + } } }, "data": { @@ -18524,7 +18522,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -18701,7 +18699,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "hashes" }, + "type": { "type": "string", "const": "hash" }, "attributes": { "type": "object", "required": [ @@ -18732,13 +18730,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "hashlists" }, + "type": { "type": "string", "const": "hashlist" }, "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -18755,9 +18750,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -18769,7 +18761,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -18788,12 +18780,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, + "type": { "type": "string", "const": "task" }, "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -18819,8 +18809,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -18829,7 +18817,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -18955,8 +18943,11 @@ "self": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=25" + } } }, "data": { @@ -19038,8 +19029,11 @@ "self": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/hashtypes?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/hashtypes?page[size]=25&page[before]=25" + } } }, "data": { @@ -19089,8 +19083,14 @@ "self": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25" + } } }, "data": { @@ -19232,7 +19232,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -19308,8 +19308,14 @@ "self": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25" + } } }, "data": { @@ -19454,7 +19460,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -19609,8 +19615,11 @@ "self": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=25" + } } }, "data": { @@ -19782,7 +19791,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "healthCheckAgents" }, + "type": { "type": "string", "const": "healthCheckAgent" }, "attributes": { "type": "object", "required": [ @@ -19901,8 +19910,11 @@ "self": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/healthchecks?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/healthchecks?page[size]=25&page[before]=25" + } } }, "data": { @@ -20077,7 +20089,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "healthCheckAgents" }, + "type": { "type": "string", "const": "healthCheckAgent" }, "attributes": { "type": "object", "required": [ @@ -20200,8 +20212,11 @@ "self": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/logentries?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/logentries?page[size]=25&page[before]=25" + } } }, "data": { @@ -20311,8 +20326,11 @@ "self": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/logentries?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/logentries?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/logentries?page[size]=25&page[before]=25" + } } }, "data": { @@ -20473,8 +20491,14 @@ "self": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/notifications?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/notifications?page[size]=25&page[before]=25" + } } }, "data": { @@ -20686,8 +20710,14 @@ "self": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/notifications?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/notifications?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/notifications?page[size]=25&page[before]=25" + } } }, "data": { @@ -20909,8 +20939,14 @@ "self": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=25" + } } }, "data": { @@ -20998,8 +21034,14 @@ "self": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=25" } + "next": { + "type": ["string", "null"], + "default": "/api/v2/ui/preprocessors?page[size]=25&page[after]=25" + }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/preprocessors?page[size]=25&page[before]=25" + } } }, "data": { @@ -21127,8 +21169,8 @@ "self": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=25" } } }, "data": { @@ -21151,7 +21193,8 @@ "priority", "maxAgents", "isMaskImport", - "crackerBinaryTypeId" + "crackerBinaryTypeId", + "auxiliaryKeyspace" ], "properties": { "taskName": { "type": "string" }, @@ -21206,22 +21249,11 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "pretaskFiles" }, + "type": { "type": "string", "const": "file" }, "attributes": { "type": "object", - "required": [ - "sourceType", - "sourceData", - "filename", - "size", - "isSecret", - "fileType", - "accessGroupId", - "lineCount" - ], + "required": ["filename", "size", "isSecret", "fileType", "accessGroupId", "lineCount"], "properties": { - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, @@ -21278,7 +21310,8 @@ "priority", "maxAgents", "isMaskImport", - "crackerBinaryTypeId" + "crackerBinaryTypeId", + "auxiliaryKeyspace" ], "properties": { "taskName": { "type": "string" }, @@ -21323,8 +21356,8 @@ "self": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/pretasks?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/pretasks?page[size]=25&page[before]=25" } } }, "data": { @@ -21349,7 +21382,8 @@ "priority", "maxAgents", "isMaskImport", - "crackerBinaryTypeId" + "crackerBinaryTypeId", + "auxiliaryKeyspace" ], "properties": { "taskName": { "type": "string" }, @@ -21405,22 +21439,11 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "pretaskFiles" }, + "type": { "type": "string", "const": "file" }, "attributes": { "type": "object", - "required": [ - "sourceType", - "sourceData", - "filename", - "size", - "isSecret", - "fileType", - "accessGroupId", - "lineCount" - ], + "required": ["filename", "size", "isSecret", "fileType", "accessGroupId", "lineCount"], "properties": { - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, @@ -21498,8 +21521,8 @@ "self": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/speeds?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/speeds?page[size]=25&page[before]=25" } } }, "data": { @@ -21628,7 +21651,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -21644,8 +21667,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -21671,8 +21692,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -21681,7 +21700,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -21729,8 +21748,8 @@ "self": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/speeds?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/speeds?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/speeds?page[size]=25&page[before]=25" } } }, "data": { @@ -21862,7 +21881,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -21878,8 +21897,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -21905,8 +21922,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -21915,7 +21930,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -22020,8 +22035,11 @@ "self": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=25" + } } }, "data": { @@ -22072,11 +22090,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "pretasks" }, + "type": { "type": "string", "const": "preTask" }, "attributes": { "type": "object", "required": [ - "files", "taskName", "attackCmd", "chunkTime", @@ -22091,7 +22108,6 @@ "crackerBinaryTypeId" ], "properties": { - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -22163,11 +22179,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "pretasks" }, + "type": { "type": "string", "const": "preTask" }, "attributes": { "type": "object", "required": [ - "files", "taskName", "attackCmd", "chunkTime", @@ -22182,7 +22197,6 @@ "crackerBinaryTypeId" ], "properties": { - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -22256,8 +22270,11 @@ "self": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/supertasks?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/supertasks?page[size]=25&page[before]=25" + } } }, "data": { @@ -22311,11 +22328,10 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "pretasks" }, + "type": { "type": "string", "const": "preTask" }, "attributes": { "type": "object", "required": [ - "files", "taskName", "attackCmd", "chunkTime", @@ -22330,7 +22346,6 @@ "crackerBinaryTypeId" ], "properties": { - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -22404,7 +22419,7 @@ "statusTimer": { "type": "integer" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -22461,7 +22476,7 @@ "properties": { "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isArchived": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "isSmall": { "type": "boolean" }, @@ -22499,8 +22514,8 @@ "self": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/tasks?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/tasks?page[size]=25&page[before]=25" } } }, "data": { @@ -22534,7 +22549,15 @@ "chunkSize", "forcePipe", "preprocessorId", - "preprocessorCommand" + "preprocessorCommand", + "activeAgents", + "dispatched", + "searched", + "status", + "estimatedTime", + "timeSpent", + "currentSpeed", + "cprogress" ], "properties": { "taskName": { "type": "string" }, @@ -22545,7 +22568,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -22773,9 +22796,6 @@ "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -22792,9 +22812,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -22806,7 +22823,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -22825,7 +22842,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "assignedAgents" }, + "type": { "type": "string", "const": "agent" }, "attributes": { "type": "object", "required": [ @@ -22870,7 +22887,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -22882,22 +22899,11 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "files" }, + "type": { "type": "string", "const": "file" }, "attributes": { "type": "object", - "required": [ - "sourceType", - "sourceData", - "filename", - "size", - "isSecret", - "fileType", - "accessGroupId", - "lineCount" - ], + "required": ["filename", "size", "isSecret", "fileType", "accessGroupId", "lineCount"], "properties": { - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, @@ -22920,7 +22926,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "speeds" }, + "type": { "type": "string", "const": "speed" }, "attributes": { "type": "object", "required": ["agentId", "taskId", "speed", "time"], @@ -22986,7 +22992,15 @@ "chunkSize", "forcePipe", "preprocessorId", - "preprocessorCommand" + "preprocessorCommand", + "activeAgents", + "dispatched", + "searched", + "status", + "estimatedTime", + "timeSpent", + "currentSpeed", + "cprogress" ], "properties": { "taskName": { "type": "string" }, @@ -22997,7 +23011,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -23056,8 +23070,8 @@ "self": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/tasks?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/tasks?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/tasks?page[size]=25&page[before]=25" } } }, "data": { @@ -23093,7 +23107,15 @@ "chunkSize", "forcePipe", "preprocessorId", - "preprocessorCommand" + "preprocessorCommand", + "activeAgents", + "dispatched", + "searched", + "status", + "estimatedTime", + "timeSpent", + "currentSpeed", + "cprogress" ], "properties": { "taskName": { "type": "string" }, @@ -23104,7 +23126,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -23333,9 +23355,6 @@ "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -23352,9 +23371,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -23366,7 +23382,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -23385,7 +23401,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "assignedAgents" }, + "type": { "type": "string", "const": "agent" }, "attributes": { "type": "object", "required": [ @@ -23430,7 +23446,7 @@ "lastAct": { "type": "string" }, "lastTime": { "type": "integer", "format": "int64" }, "lastIp": { "type": "string" }, - "userId": { "type": "integer" }, + "userId": { "type": ["integer", "null"] }, "cpuOnly": { "type": "boolean" }, "clientSignature": { "type": "string" } } @@ -23442,22 +23458,11 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "files" }, + "type": { "type": "string", "const": "file" }, "attributes": { "type": "object", - "required": [ - "sourceType", - "sourceData", - "filename", - "size", - "isSecret", - "fileType", - "accessGroupId", - "lineCount" - ], + "required": ["filename", "size", "isSecret", "fileType", "accessGroupId", "lineCount"], "properties": { - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "filename": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "isSecret": { "type": "boolean" }, @@ -23480,7 +23485,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "speeds" }, + "type": { "type": "string", "const": "speed" }, "attributes": { "type": "object", "required": ["agentId", "taskId", "speed", "time"], @@ -23579,8 +23584,11 @@ "self": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=25" + } } }, "data": { @@ -23772,9 +23780,6 @@ "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -23791,9 +23796,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -23805,7 +23807,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -23845,8 +23847,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -23872,8 +23872,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -23882,72 +23880,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } - } - } - } - }, - { - "type": "object", - "required": ["id", "type", "attributes"], - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { - "type": "object", - "required": [ - "hashlistId", - "files", - "taskName", - "attackCmd", - "chunkTime", - "statusTimer", - "keyspace", - "keyspaceProgress", - "priority", - "maxAgents", - "color", - "isSmall", - "isCpuTask", - "useNewBench", - "skipKeyspace", - "crackerBinaryId", - "crackerBinaryTypeId", - "taskWrapperId", - "isArchived", - "notes", - "staticChunks", - "chunkSize", - "forcePipe", - "preprocessorId", - "preprocessorCommand" - ], - "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -24165,9 +24098,6 @@ "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -24184,9 +24114,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -24198,7 +24125,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -24238,73 +24165,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", - "taskName", - "attackCmd", - "chunkTime", - "statusTimer", - "keyspace", - "keyspaceProgress", - "priority", - "maxAgents", - "color", - "isSmall", - "isCpuTask", - "useNewBench", - "skipKeyspace", - "crackerBinaryId", - "crackerBinaryTypeId", - "taskWrapperId", - "isArchived", - "notes", - "staticChunks", - "chunkSize", - "forcePipe", - "preprocessorId", - "preprocessorCommand" - ], - "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } - } - } - } - }, - { - "type": "object", - "required": ["id", "type", "attributes"], - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { - "type": "object", - "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -24330,8 +24190,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -24340,7 +24198,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -24442,8 +24300,11 @@ "self": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/taskwrappers?page[size]=25&page[after]=25" }, + "previous": { + "type": ["string", "null"], + "default": "/api/v2/ui/taskwrappers?page[size]=25&page[before]=25" + } } }, "data": { @@ -24638,9 +24499,6 @@ "attributes": { "type": "object", "required": [ - "hashlistSeperator", - "sourceType", - "sourceData", "name", "format", "hashTypeId", @@ -24657,9 +24515,6 @@ "isArchived" ], "properties": { - "hashlistSeperator": { "type": "string" }, - "sourceType": { "type": "string" }, - "sourceData": { "type": "string" }, "name": { "type": "string" }, "format": { "oneOf": [ @@ -24671,7 +24526,7 @@ }, "hashTypeId": { "type": "integer" }, "hashCount": { "type": "integer" }, - "separator": { "type": "string" }, + "separator": { "type": ["string", "null"] }, "cracked": { "type": "integer" }, "isSecret": { "type": "boolean" }, "isHexSalt": { "type": "boolean" }, @@ -24711,8 +24566,6 @@ "attributes": { "type": "object", "required": [ - "hashlistId", - "files", "taskName", "attackCmd", "chunkTime", @@ -24738,8 +24591,6 @@ "preprocessorCommand" ], "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, "taskName": { "type": "string" }, "attackCmd": { "type": "string" }, "chunkTime": { "type": "integer" }, @@ -24748,72 +24599,7 @@ "keyspaceProgress": { "type": "integer", "format": "int64" }, "priority": { "type": "integer" }, "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, - "isSmall": { "type": "boolean" }, - "isCpuTask": { "type": "boolean" }, - "useNewBench": { "type": "boolean" }, - "skipKeyspace": { "type": "integer", "format": "int64" }, - "crackerBinaryId": { "type": "integer" }, - "crackerBinaryTypeId": { "type": "integer" }, - "taskWrapperId": { "type": "integer" }, - "isArchived": { "type": "boolean" }, - "notes": { "type": "string" }, - "staticChunks": { "type": "integer" }, - "chunkSize": { "type": "integer", "format": "int64" }, - "forcePipe": { "type": "boolean" }, - "preprocessorId": { "type": "integer" }, - "preprocessorCommand": { "type": "string" } - } - } - } - }, - { - "type": "object", - "required": ["id", "type", "attributes"], - "properties": { - "id": { "type": "integer" }, - "type": { "type": "string", "const": "tasks" }, - "attributes": { - "type": "object", - "required": [ - "hashlistId", - "files", - "taskName", - "attackCmd", - "chunkTime", - "statusTimer", - "keyspace", - "keyspaceProgress", - "priority", - "maxAgents", - "color", - "isSmall", - "isCpuTask", - "useNewBench", - "skipKeyspace", - "crackerBinaryId", - "crackerBinaryTypeId", - "taskWrapperId", - "isArchived", - "notes", - "staticChunks", - "chunkSize", - "forcePipe", - "preprocessorId", - "preprocessorCommand" - ], - "properties": { - "hashlistId": { "type": "integer" }, - "files": { "type": "array", "items": { "type": "integer" } }, - "taskName": { "type": "string" }, - "attackCmd": { "type": "string" }, - "chunkTime": { "type": "integer" }, - "statusTimer": { "type": "integer" }, - "keyspace": { "type": "integer", "format": "int64" }, - "keyspaceProgress": { "type": "integer", "format": "int64" }, - "priority": { "type": "integer" }, - "maxAgents": { "type": "integer" }, - "color": { "type": "string" }, + "color": { "type": ["string", "null"] }, "isSmall": { "type": "boolean" }, "isCpuTask": { "type": "boolean" }, "useNewBench": { "type": "boolean" }, @@ -24939,8 +24725,8 @@ "self": { "type": "string", "default": "/api/v2/ui/users?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/users?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/users?page[size]=25&page[before]=25" } } }, "data": { @@ -25067,7 +24853,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "accessGroups" }, + "type": { "type": "string", "const": "accessGroup" }, "attributes": { "type": "object", "required": ["groupName"], @@ -25163,8 +24949,8 @@ "self": { "type": "string", "default": "/api/v2/ui/users?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/users?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/users?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/users?page[size]=25&page[before]=25" } } }, "data": { @@ -25294,7 +25080,7 @@ "required": ["id", "type", "attributes"], "properties": { "id": { "type": "integer" }, - "type": { "type": "string", "const": "accessGroups" }, + "type": { "type": "string", "const": "accessGroup" }, "attributes": { "type": "object", "required": ["groupName"], @@ -25397,8 +25183,8 @@ "self": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=25" } } }, "data": { @@ -25472,8 +25258,8 @@ "self": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25" }, "first": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=0" }, "last": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=500" }, - "next": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=25" }, - "previous": { "type": "string", "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=25" } + "next": { "type": ["string", "null"], "default": "/api/v2/ui/vouchers?page[size]=25&page[after]=25" }, + "previous": { "type": ["string", "null"], "default": "/api/v2/ui/vouchers?page[size]=25&page[before]=25" } } }, "data": { diff --git a/src/app/core/_models/hashlist.model.ts b/src/app/core/_models/hashlist.model.ts index 9f8896379..be6ab98b5 100644 --- a/src/app/core/_models/hashlist.model.ts +++ b/src/app/core/_models/hashlist.model.ts @@ -18,7 +18,7 @@ export interface JHashlist extends BaseModel { isHexSalt: boolean; isSecret: boolean; isSalted: boolean; - separator: string; + separator?: string | null; useBrain: boolean; hashCount: number; cracked: number; diff --git a/src/app/core/_models/task.model.ts b/src/app/core/_models/task.model.ts index 4514b7ea8..43c956b92 100644 --- a/src/app/core/_models/task.model.ts +++ b/src/app/core/_models/task.model.ts @@ -36,7 +36,7 @@ export interface JTask extends BaseModel, TaskAttributes { keyspace: number; keyspaceProgress: number; files?: JFile[]; - color: string; + color?: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; diff --git a/src/generated/api/types.gen.ts b/src/generated/api/types.gen.ts index b69ada5f6..5d14bb2a0 100644 --- a/src/generated/api/types.gen.ts +++ b/src/generated/api/types.gen.ts @@ -48,8 +48,8 @@ export type AccessGroupResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -82,7 +82,7 @@ export type AccessGroupResponse = { }; included?: Array<{ id: number; - type: 'userMembers'; + type: 'user'; attributes: { name: string; email: string; @@ -100,7 +100,7 @@ export type AccessGroupResponse = { }; } | { id: number; - type: 'agentMembers'; + type: 'agent'; attributes: { agentName: string; uid: string; @@ -114,7 +114,7 @@ export type AccessGroupResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -144,8 +144,8 @@ export type AccessGroupListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -178,7 +178,7 @@ export type AccessGroupListResponse = { }; included?: Array<{ id: number; - type: 'userMembers'; + type: 'user'; attributes: { name: string; email: string; @@ -196,7 +196,7 @@ export type AccessGroupListResponse = { }; } | { id: number; - type: 'agentMembers'; + type: 'agent'; attributes: { agentName: string; uid: string; @@ -210,7 +210,7 @@ export type AccessGroupListResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -243,7 +243,7 @@ export type AgentPatch = { isTrusted?: boolean; os?: 0 | 1 | 2; uid?: string; - userId?: number; + userId?: number | null; }; }; }; @@ -257,8 +257,8 @@ export type AgentResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -276,7 +276,7 @@ export type AgentResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -373,13 +373,13 @@ export type AgentResponse = { }; } | { id: number; - type: 'accessGroups'; + type: 'accessGroup'; attributes: { groupName: string; }; } | { id: number; - type: 'agentStats'; + type: 'agentStat'; attributes: { agentId: number; statType: 1 | 2 | 3; @@ -388,7 +388,7 @@ export type AgentResponse = { }; } | { id: number; - type: 'agentErrors'; + type: 'agentError'; attributes: { agentId: number; taskId: number; @@ -398,7 +398,7 @@ export type AgentResponse = { }; } | { id: number; - type: 'chunks'; + type: 'chunk'; attributes: { taskId: number; skip: number; @@ -414,10 +414,8 @@ export type AgentResponse = { }; } | { id: number; - type: 'tasks'; + type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -426,7 +424,7 @@ export type AgentResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -444,7 +442,7 @@ export type AgentResponse = { }; } | { id: number; - type: 'assignments'; + type: 'agentAssignment'; attributes: { taskId: number; agentId: number; @@ -474,7 +472,7 @@ export type AgentPostPatchResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -490,8 +488,8 @@ export type AgentListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -509,7 +507,7 @@ export type AgentListResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -606,13 +604,13 @@ export type AgentListResponse = { }; } | { id: number; - type: 'accessGroups'; + type: 'accessGroup'; attributes: { groupName: string; }; } | { id: number; - type: 'agentStats'; + type: 'agentStat'; attributes: { agentId: number; statType: 1 | 2 | 3; @@ -621,7 +619,7 @@ export type AgentListResponse = { }; } | { id: number; - type: 'agentErrors'; + type: 'agentError'; attributes: { agentId: number; taskId: number; @@ -631,7 +629,7 @@ export type AgentListResponse = { }; } | { id: number; - type: 'chunks'; + type: 'chunk'; attributes: { taskId: number; skip: number; @@ -647,10 +645,8 @@ export type AgentListResponse = { }; } | { id: number; - type: 'tasks'; + type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -659,7 +655,7 @@ export type AgentListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -677,7 +673,7 @@ export type AgentListResponse = { }; } | { id: number; - type: 'assignments'; + type: 'agentAssignment'; attributes: { taskId: number; agentId: number; @@ -706,7 +702,7 @@ export type AgentAssignmentCreate = { attributes: { taskId: number; agentId: number; - benchmark?: string; + benchmark: string; }; }; }; @@ -729,8 +725,8 @@ export type AgentAssignmentResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -779,7 +775,7 @@ export type AgentAssignmentResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -787,8 +783,6 @@ export type AgentAssignmentResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -797,7 +791,7 @@ export type AgentAssignmentResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -841,8 +835,8 @@ export type AgentAssignmentListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -891,7 +885,7 @@ export type AgentAssignmentListResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -899,8 +893,6 @@ export type AgentAssignmentListResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -909,7 +901,7 @@ export type AgentAssignmentListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -977,8 +969,8 @@ export type AgentBinaryResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -1026,8 +1018,8 @@ export type AgentBinaryListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -1056,8 +1048,8 @@ export type AgentErrorResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -1086,8 +1078,6 @@ export type AgentErrorResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -1096,7 +1086,7 @@ export type AgentErrorResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -1124,8 +1114,8 @@ export type AgentErrorListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -1154,8 +1144,6 @@ export type AgentErrorListResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -1164,7 +1152,7 @@ export type AgentErrorListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -1206,8 +1194,8 @@ export type AgentStatResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -1234,8 +1222,8 @@ export type AgentStatListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -1284,8 +1272,8 @@ export type ApiTokenResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -1295,7 +1283,7 @@ export type ApiTokenResponse = { endValid: number; userId: number; isRevoked: boolean; - token?: string; + token: string; }; }; relationships?: { @@ -1344,7 +1332,7 @@ export type ApiTokenPostPatchResponse = { endValid: number; userId: number; isRevoked: boolean; - token?: string; + token: string; }; }; }; @@ -1358,8 +1346,8 @@ export type ApiTokenListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -1369,7 +1357,7 @@ export type ApiTokenListResponse = { endValid: number; userId: number; isRevoked: boolean; - token?: string; + token: string; }; }>; relationships?: { @@ -1428,8 +1416,8 @@ export type ChunkResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -1486,7 +1474,7 @@ export type ChunkResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -1494,8 +1482,6 @@ export type ChunkResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -1504,7 +1490,7 @@ export type ChunkResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -1532,8 +1518,8 @@ export type ChunkListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -1590,7 +1576,7 @@ export type ChunkListResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -1598,8 +1584,6 @@ export type ChunkListResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -1608,7 +1592,7 @@ export type ChunkListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -1660,8 +1644,8 @@ export type ConfigResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -1718,8 +1702,8 @@ export type ConfigListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -1774,8 +1758,8 @@ export type ConfigSectionResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -1799,8 +1783,8 @@ export type ConfigSectionListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -1847,8 +1831,8 @@ export type CrackerBinaryResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -1891,10 +1875,8 @@ export type CrackerBinaryResponse = { }; } | { id: number; - type: 'tasks'; + type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -1903,7 +1885,7 @@ export type CrackerBinaryResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -1948,8 +1930,8 @@ export type CrackerBinaryListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -1992,10 +1974,8 @@ export type CrackerBinaryListResponse = { }; } | { id: number; - type: 'tasks'; + type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -2004,7 +1984,7 @@ export type CrackerBinaryListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -2065,8 +2045,8 @@ export type CrackerBinaryTypeResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -2100,7 +2080,7 @@ export type CrackerBinaryTypeResponse = { }; included?: Array<{ id: number; - type: 'crackerVersions'; + type: 'crackerBinary'; attributes: { crackerBinaryTypeId: number; version: string; @@ -2109,10 +2089,8 @@ export type CrackerBinaryTypeResponse = { }; } | { id: number; - type: 'tasks'; + type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -2121,7 +2099,7 @@ export type CrackerBinaryTypeResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -2164,8 +2142,8 @@ export type CrackerBinaryTypeListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -2199,7 +2177,7 @@ export type CrackerBinaryTypeListResponse = { }; included?: Array<{ id: number; - type: 'crackerVersions'; + type: 'crackerBinary'; attributes: { crackerBinaryTypeId: number; version: string; @@ -2208,10 +2186,8 @@ export type CrackerBinaryTypeListResponse = { }; } | { id: number; - type: 'tasks'; + type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -2220,7 +2196,7 @@ export type CrackerBinaryTypeListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -2288,8 +2264,8 @@ export type FileResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -2386,8 +2362,8 @@ export type FileListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -2441,7 +2417,7 @@ export type GlobalPermissionGroupCreate = { type: 'globalPermissionGroup'; attributes: { name: string; - permissions?: { + permissions: { [key: string]: boolean; }; }; @@ -2469,8 +2445,8 @@ export type GlobalPermissionGroupResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -2496,7 +2472,7 @@ export type GlobalPermissionGroupResponse = { }; included?: Array<{ id: number; - type: 'userMembers'; + type: 'user'; attributes: { name: string; email: string; @@ -2541,8 +2517,8 @@ export type GlobalPermissionGroupListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -2568,7 +2544,7 @@ export type GlobalPermissionGroupListResponse = { }; included?: Array<{ id: number; - type: 'userMembers'; + type: 'user'; attributes: { name: string; email: string; @@ -2610,8 +2586,8 @@ export type HashResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -2669,14 +2645,11 @@ export type HashResponse = { id: number; type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -2699,8 +2672,8 @@ export type HashListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -2758,14 +2731,11 @@ export type HashListResponse = { id: number; type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -2797,14 +2767,14 @@ export type HashlistCreate = { data: { type: 'hashlist'; attributes: { - hashlistSeperator?: string; + hashlistSeperator?: string | null; sourceType: string; sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator?: string; + separator?: string | null; isSecret: boolean; isHexSalt: boolean; isSalted: boolean; @@ -2839,8 +2809,8 @@ export type HashlistResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -2850,7 +2820,7 @@ export type HashlistResponse = { format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -2930,7 +2900,7 @@ export type HashlistResponse = { }; } | { id: number; - type: 'hashes'; + type: 'hash'; attributes: { hashlistId: number; hash: string; @@ -2943,16 +2913,13 @@ export type HashlistResponse = { }; } | { id: number; - type: 'hashlists'; + type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -2965,10 +2932,8 @@ export type HashlistResponse = { }; } | { id: number; - type: 'tasks'; + type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -2977,7 +2942,7 @@ export type HashlistResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -3005,7 +2970,7 @@ export type HashlistSingleResponse = { format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -3085,7 +3050,7 @@ export type HashlistSingleResponse = { }; } | { id: number; - type: 'hashes'; + type: 'hash'; attributes: { hashlistId: number; hash: string; @@ -3098,16 +3063,13 @@ export type HashlistSingleResponse = { }; } | { id: number; - type: 'hashlists'; + type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -3120,10 +3082,8 @@ export type HashlistSingleResponse = { }; } | { id: number; - type: 'tasks'; + type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -3132,7 +3092,7 @@ export type HashlistSingleResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -3164,7 +3124,7 @@ export type HashlistPostPatchResponse = { format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -3187,8 +3147,8 @@ export type HashlistListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -3198,7 +3158,7 @@ export type HashlistListResponse = { format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -3278,7 +3238,7 @@ export type HashlistListResponse = { }; } | { id: number; - type: 'hashes'; + type: 'hash'; attributes: { hashlistId: number; hash: string; @@ -3291,16 +3251,13 @@ export type HashlistListResponse = { }; } | { id: number; - type: 'hashlists'; + type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -3313,10 +3270,8 @@ export type HashlistListResponse = { }; } | { id: number; - type: 'tasks'; + type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -3325,7 +3280,7 @@ export type HashlistListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -3390,8 +3345,8 @@ export type HashTypeResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -3433,8 +3388,8 @@ export type HashTypeListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -3460,8 +3415,8 @@ export type HealthCheckAgentResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -3515,7 +3470,7 @@ export type HealthCheckAgentResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -3543,8 +3498,8 @@ export type HealthCheckAgentListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -3598,7 +3553,7 @@ export type HealthCheckAgentListResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -3660,8 +3615,8 @@ export type HealthCheckResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -3727,7 +3682,7 @@ export type HealthCheckResponse = { }; } | { id: number; - type: 'healthCheckAgents'; + type: 'healthCheckAgent'; attributes: { healthCheckId: number; agentId: number; @@ -3770,8 +3725,8 @@ export type HealthCheckListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -3837,7 +3792,7 @@ export type HealthCheckListResponse = { }; } | { id: number; - type: 'healthCheckAgents'; + type: 'healthCheckAgent'; attributes: { healthCheckId: number; agentId: number; @@ -3892,8 +3847,8 @@ export type LogEntryResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -3939,8 +3894,8 @@ export type LogEntryListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -3992,8 +3947,8 @@ export type NotificationSettingResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -4068,8 +4023,8 @@ export type NotificationSettingListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -4167,8 +4122,8 @@ export type PreprocessorResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -4216,8 +4171,8 @@ export type PreprocessorListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -4286,8 +4241,8 @@ export type PreTaskResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -4305,7 +4260,7 @@ export type PreTaskResponse = { maxAgents: number; isMaskImport: boolean; crackerBinaryTypeId: number; - auxiliaryKeyspace?: number; + auxiliaryKeyspace: number; }; }; relationships?: { @@ -4322,10 +4277,8 @@ export type PreTaskResponse = { }; included?: Array<{ id: number; - type: 'pretaskFiles'; + type: 'file'; attributes: { - sourceType: string; - sourceData: string; filename: string; size: number; isSecret: boolean; @@ -4357,7 +4310,7 @@ export type PreTaskPostPatchResponse = { maxAgents: number; isMaskImport: boolean; crackerBinaryTypeId: number; - auxiliaryKeyspace?: number; + auxiliaryKeyspace: number; }; }; }; @@ -4371,8 +4324,8 @@ export type PreTaskListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -4390,7 +4343,7 @@ export type PreTaskListResponse = { maxAgents: number; isMaskImport: boolean; crackerBinaryTypeId: number; - auxiliaryKeyspace?: number; + auxiliaryKeyspace: number; }; }>; relationships?: { @@ -4407,10 +4360,8 @@ export type PreTaskListResponse = { }; included?: Array<{ id: number; - type: 'pretaskFiles'; + type: 'file'; attributes: { - sourceType: string; - sourceData: string; filename: string; size: number; isSecret: boolean; @@ -4444,8 +4395,8 @@ export type SpeedResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -4495,7 +4446,7 @@ export type SpeedResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -4503,8 +4454,6 @@ export type SpeedResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -4513,7 +4462,7 @@ export type SpeedResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -4541,8 +4490,8 @@ export type SpeedListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -4592,7 +4541,7 @@ export type SpeedListResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; @@ -4600,8 +4549,6 @@ export type SpeedListResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -4610,7 +4557,7 @@ export type SpeedListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -4671,8 +4618,8 @@ export type SupertaskResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -4695,9 +4642,8 @@ export type SupertaskResponse = { }; included?: Array<{ id: number; - type: 'pretasks'; + type: 'preTask'; attributes: { - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -4736,9 +4682,8 @@ export type SupertaskSingleResponse = { }; included?: Array<{ id: number; - type: 'pretasks'; + type: 'preTask'; attributes: { - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -4778,8 +4723,8 @@ export type SupertaskListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -4802,9 +4747,8 @@ export type SupertaskListResponse = { }; included?: Array<{ id: number; - type: 'pretasks'; + type: 'preTask'; attributes: { - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -4847,7 +4791,7 @@ export type TaskCreate = { statusTimer: number; priority: number; maxAgents: number; - color?: string; + color?: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -4871,7 +4815,7 @@ export type TaskPatch = { attributes: { attackCmd?: string; chunkTime?: number; - color?: string; + color?: string | null; isArchived?: boolean; isCpuTask?: boolean; isSmall?: boolean; @@ -4893,8 +4837,8 @@ export type TaskResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -4908,7 +4852,7 @@ export type TaskResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -4923,14 +4867,14 @@ export type TaskResponse = { forcePipe: boolean; preprocessorId: number; preprocessorCommand: string; - activeAgents?: number; - dispatched?: string; - searched?: string; - status?: 0 | 1 | 2 | 3; - estimatedTime?: number; - timeSpent?: number; - currentSpeed?: number; - cprogress?: number; + activeAgents: number; + dispatched: string; + searched: string; + status: 0 | 1 | 2 | 3; + estimatedTime: number; + timeSpent: number; + currentSpeed: number; + cprogress: number; }; }; relationships?: { @@ -5015,14 +4959,11 @@ export type TaskResponse = { id: number; type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -5035,7 +4976,7 @@ export type TaskResponse = { }; } | { id: number; - type: 'assignedAgents'; + type: 'agent'; attributes: { agentName: string; uid: string; @@ -5049,16 +4990,14 @@ export type TaskResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; } | { id: number; - type: 'files'; + type: 'file'; attributes: { - sourceType: string; - sourceData: string; filename: string; size: number; isSecret: boolean; @@ -5068,7 +5007,7 @@ export type TaskResponse = { }; } | { id: number; - type: 'speeds'; + type: 'speed'; attributes: { agentId: number; taskId: number; @@ -5095,7 +5034,7 @@ export type TaskPostPatchResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -5110,14 +5049,14 @@ export type TaskPostPatchResponse = { forcePipe: boolean; preprocessorId: number; preprocessorCommand: string; - activeAgents?: number; - dispatched?: string; - searched?: string; - status?: 0 | 1 | 2 | 3; - estimatedTime?: number; - timeSpent?: number; - currentSpeed?: number; - cprogress?: number; + activeAgents: number; + dispatched: string; + searched: string; + status: 0 | 1 | 2 | 3; + estimatedTime: number; + timeSpent: number; + currentSpeed: number; + cprogress: number; }; }; }; @@ -5131,8 +5070,8 @@ export type TaskListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -5146,7 +5085,7 @@ export type TaskListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -5161,14 +5100,14 @@ export type TaskListResponse = { forcePipe: boolean; preprocessorId: number; preprocessorCommand: string; - activeAgents?: number; - dispatched?: string; - searched?: string; - status?: 0 | 1 | 2 | 3; - estimatedTime?: number; - timeSpent?: number; - currentSpeed?: number; - cprogress?: number; + activeAgents: number; + dispatched: string; + searched: string; + status: 0 | 1 | 2 | 3; + estimatedTime: number; + timeSpent: number; + currentSpeed: number; + cprogress: number; }; }>; relationships?: { @@ -5253,14 +5192,11 @@ export type TaskListResponse = { id: number; type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -5273,7 +5209,7 @@ export type TaskListResponse = { }; } | { id: number; - type: 'assignedAgents'; + type: 'agent'; attributes: { agentName: string; uid: string; @@ -5287,16 +5223,14 @@ export type TaskListResponse = { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; cpuOnly: boolean; clientSignature: string; }; } | { id: number; - type: 'files'; + type: 'file'; attributes: { - sourceType: string; - sourceData: string; filename: string; size: number; isSecret: boolean; @@ -5306,7 +5240,7 @@ export type TaskListResponse = { }; } | { id: number; - type: 'speeds'; + type: 'speed'; attributes: { agentId: number; taskId: number; @@ -5352,8 +5286,8 @@ export type TaskWrapperResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -5431,14 +5365,11 @@ export type TaskWrapperResponse = { id: number; type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -5461,38 +5392,6 @@ export type TaskWrapperResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - } | { - id: number; - type: 'tasks'; - attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -5501,7 +5400,7 @@ export type TaskWrapperResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -5597,14 +5496,11 @@ export type TaskWrapperSingleResponse = { id: number; type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -5627,38 +5523,6 @@ export type TaskWrapperSingleResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - } | { - id: number; - type: 'tasks'; - attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -5667,7 +5531,7 @@ export type TaskWrapperSingleResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -5716,8 +5580,8 @@ export type TaskWrapperListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -5795,14 +5659,11 @@ export type TaskWrapperListResponse = { id: number; type: 'hashlist'; attributes: { - hashlistSeperator: string; - sourceType: string; - sourceData: string; name: string; format: 0 | 1 | 2 | 3; hashTypeId: number; hashCount: number; - separator: string; + separator: string | null; cracked: number; isSecret: boolean; isHexSalt: boolean; @@ -5825,8 +5686,6 @@ export type TaskWrapperListResponse = { id: number; type: 'task'; attributes: { - hashlistId: number; - files: Array; taskName: string; attackCmd: string; chunkTime: number; @@ -5835,37 +5694,7 @@ export type TaskWrapperListResponse = { keyspaceProgress: number; priority: number; maxAgents: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - } | { - id: number; - type: 'tasks'; - attributes: { - hashlistId: number; - files: Array; - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string; + color: string | null; isSmall: boolean; isCpuTask: boolean; useNewBench: boolean; @@ -5930,8 +5759,8 @@ export type UserResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -5985,7 +5814,7 @@ export type UserResponse = { }; } | { id: number; - type: 'accessGroups'; + type: 'accessGroup'; attributes: { groupName: string; }; @@ -6027,8 +5856,8 @@ export type UserListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; @@ -6082,7 +5911,7 @@ export type UserListResponse = { }; } | { id: number; - type: 'accessGroups'; + type: 'accessGroup'; attributes: { groupName: string; }; @@ -6130,8 +5959,8 @@ export type VoucherResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: { id: number; @@ -6171,8 +6000,8 @@ export type VoucherListResponse = { self: string; first?: string; last?: string; - next?: string; - previous?: string; + next?: string | null; + previous?: string | null; }; data: Array<{ id: number; diff --git a/src/generated/api/zod.gen.ts b/src/generated/api/zod.gen.ts index 2d65f023e..eea8a7a66 100644 --- a/src/generated/api/zod.gen.ts +++ b/src/generated/api/zod.gen.ts @@ -46,8 +46,8 @@ export const zAccessGroupResponse = z.object({ self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), first: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -80,7 +80,7 @@ export const zAccessGroupResponse = z.object({ }).optional(), included: z.array(z.union([z.object({ id: z.int(), - type: z.literal('userMembers'), + type: z.literal('user'), attributes: z.object({ name: z.string(), email: z.string(), @@ -98,7 +98,7 @@ export const zAccessGroupResponse = z.object({ }) }), z.object({ id: z.int(), - type: z.literal('agentMembers'), + type: z.literal('agent'), attributes: z.object({ agentName: z.string(), uid: z.string(), @@ -120,7 +120,7 @@ export const zAccessGroupResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -150,8 +150,8 @@ export const zAccessGroupListResponse = z.object({ self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), first: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -184,7 +184,7 @@ export const zAccessGroupListResponse = z.object({ }).optional(), included: z.array(z.union([z.object({ id: z.int(), - type: z.literal('userMembers'), + type: z.literal('user'), attributes: z.object({ name: z.string(), email: z.string(), @@ -202,7 +202,7 @@ export const zAccessGroupListResponse = z.object({ }) }), z.object({ id: z.int(), - type: z.literal('agentMembers'), + type: z.literal('agent'), attributes: z.object({ agentName: z.string(), uid: z.string(), @@ -224,7 +224,7 @@ export const zAccessGroupListResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -265,7 +265,7 @@ export const zAgentPatch = z.object({ z.literal(2) ]).optional(), uid: z.string().optional(), - userId: z.int().optional() + userId: z.int().nullish() }) }) }); @@ -279,8 +279,8 @@ export const zAgentResponse = z.object({ self: z.string().default('/api/v2/ui/agents?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -306,7 +306,7 @@ export const zAgentResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -405,14 +405,14 @@ export const zAgentResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('accessGroups'), + type: z.literal('accessGroup'), attributes: z.object({ groupName: z.string() }) }), z.object({ id: z.int(), - type: z.literal('agentStats'), + type: z.literal('agentStat'), attributes: z.object({ agentId: z.int(), statType: z.union([ @@ -426,7 +426,7 @@ export const zAgentResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('agentErrors'), + type: z.literal('agentError'), attributes: z.object({ agentId: z.int(), taskId: z.int(), @@ -437,7 +437,7 @@ export const zAgentResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('chunks'), + type: z.literal('chunk'), attributes: z.object({ taskId: z.int(), skip: z.int(), @@ -466,10 +466,8 @@ export const zAgentResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('tasks'), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -478,7 +476,7 @@ export const zAgentResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -497,7 +495,7 @@ export const zAgentResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('assignments'), + type: z.literal('agentAssignment'), attributes: z.object({ taskId: z.int(), agentId: z.int(), @@ -536,7 +534,7 @@ export const zAgentPostPatchResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -552,8 +550,8 @@ export const zAgentListResponse = z.object({ self: z.string().default('/api/v2/ui/agents?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -579,7 +577,7 @@ export const zAgentListResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -678,14 +676,14 @@ export const zAgentListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('accessGroups'), + type: z.literal('accessGroup'), attributes: z.object({ groupName: z.string() }) }), z.object({ id: z.int(), - type: z.literal('agentStats'), + type: z.literal('agentStat'), attributes: z.object({ agentId: z.int(), statType: z.union([ @@ -699,7 +697,7 @@ export const zAgentListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('agentErrors'), + type: z.literal('agentError'), attributes: z.object({ agentId: z.int(), taskId: z.int(), @@ -710,7 +708,7 @@ export const zAgentListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('chunks'), + type: z.literal('chunk'), attributes: z.object({ taskId: z.int(), skip: z.int(), @@ -739,10 +737,8 @@ export const zAgentListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('tasks'), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -751,7 +747,7 @@ export const zAgentListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -770,7 +766,7 @@ export const zAgentListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('assignments'), + type: z.literal('agentAssignment'), attributes: z.object({ taskId: z.int(), agentId: z.int(), @@ -800,7 +796,7 @@ export const zAgentAssignmentCreate = z.object({ attributes: z.object({ taskId: z.int(), agentId: z.int(), - benchmark: z.string().optional() + benchmark: z.string() }) }) }); @@ -823,8 +819,8 @@ export const zAgentAssignmentResponse = z.object({ self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -881,7 +877,7 @@ export const zAgentAssignmentResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -889,8 +885,6 @@ export const zAgentAssignmentResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -899,7 +893,7 @@ export const zAgentAssignmentResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -943,8 +937,8 @@ export const zAgentAssignmentListResponse = z.object({ self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -1001,7 +995,7 @@ export const zAgentAssignmentListResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -1009,8 +1003,6 @@ export const zAgentAssignmentListResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -1019,7 +1011,7 @@ export const zAgentAssignmentListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -1087,8 +1079,8 @@ export const zAgentBinaryResponse = z.object({ self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -1134,8 +1126,8 @@ export const zAgentBinaryListResponse = z.object({ self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -1162,8 +1154,8 @@ export const zAgentErrorResponse = z.object({ self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -1192,8 +1184,6 @@ export const zAgentErrorResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -1202,7 +1192,7 @@ export const zAgentErrorResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -1230,8 +1220,8 @@ export const zAgentErrorListResponse = z.object({ self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -1260,8 +1250,6 @@ export const zAgentErrorListResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -1270,7 +1258,7 @@ export const zAgentErrorListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -1312,8 +1300,8 @@ export const zAgentStatResponse = z.object({ self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -1342,8 +1330,8 @@ export const zAgentStatListResponse = z.object({ self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), first: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -1394,8 +1382,8 @@ export const zApiTokenResponse = z.object({ self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), first: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -1405,7 +1393,7 @@ export const zApiTokenResponse = z.object({ endValid: z.number(), userId: z.int(), isRevoked: z.boolean(), - token: z.string().optional() + token: z.string() }) }), relationships: z.object({ @@ -1454,7 +1442,7 @@ export const zApiTokenPostPatchResponse = z.object({ endValid: z.number(), userId: z.int(), isRevoked: z.boolean(), - token: z.string().optional() + token: z.string() }) }) }); @@ -1468,8 +1456,8 @@ export const zApiTokenListResponse = z.object({ self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), first: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -1479,7 +1467,7 @@ export const zApiTokenListResponse = z.object({ endValid: z.number(), userId: z.int(), isRevoked: z.boolean(), - token: z.string().optional() + token: z.string() }) })), relationships: z.object({ @@ -1538,8 +1526,8 @@ export const zChunkResponse = z.object({ self: z.string().default('/api/v2/ui/chunks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -1616,7 +1604,7 @@ export const zChunkResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -1624,8 +1612,6 @@ export const zChunkResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -1634,7 +1620,7 @@ export const zChunkResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -1662,8 +1648,8 @@ export const zChunkListResponse = z.object({ self: z.string().default('/api/v2/ui/chunks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -1740,7 +1726,7 @@ export const zChunkListResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -1748,8 +1734,6 @@ export const zChunkListResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -1758,7 +1742,7 @@ export const zChunkListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -1810,8 +1794,8 @@ export const zConfigResponse = z.object({ self: z.string().default('/api/v2/ui/configs?page[size]=25'), first: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -1868,8 +1852,8 @@ export const zConfigListResponse = z.object({ self: z.string().default('/api/v2/ui/configs?page[size]=25'), first: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -1924,8 +1908,8 @@ export const zConfigSectionResponse = z.object({ self: z.string().default('/api/v2/ui/configsections?page[size]=25'), first: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -1947,8 +1931,8 @@ export const zConfigSectionListResponse = z.object({ self: z.string().default('/api/v2/ui/configsections?page[size]=25'), first: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -1993,8 +1977,8 @@ export const zCrackerBinaryResponse = z.object({ self: z.string().default('/api/v2/ui/crackers?page[size]=25'), first: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -2037,10 +2021,8 @@ export const zCrackerBinaryResponse = z.object({ }) }), z.object({ id: z.int(), - type: z.literal('tasks'), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -2049,7 +2031,7 @@ export const zCrackerBinaryResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -2094,8 +2076,8 @@ export const zCrackerBinaryListResponse = z.object({ self: z.string().default('/api/v2/ui/crackers?page[size]=25'), first: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -2138,10 +2120,8 @@ export const zCrackerBinaryListResponse = z.object({ }) }), z.object({ id: z.int(), - type: z.literal('tasks'), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -2150,7 +2130,7 @@ export const zCrackerBinaryListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -2211,8 +2191,8 @@ export const zCrackerBinaryTypeResponse = z.object({ self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), first: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -2246,7 +2226,7 @@ export const zCrackerBinaryTypeResponse = z.object({ }).optional(), included: z.array(z.union([z.object({ id: z.int(), - type: z.literal('crackerVersions'), + type: z.literal('crackerBinary'), attributes: z.object({ crackerBinaryTypeId: z.int(), version: z.string(), @@ -2255,10 +2235,8 @@ export const zCrackerBinaryTypeResponse = z.object({ }) }), z.object({ id: z.int(), - type: z.literal('tasks'), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -2267,7 +2245,7 @@ export const zCrackerBinaryTypeResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -2310,8 +2288,8 @@ export const zCrackerBinaryTypeListResponse = z.object({ self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), first: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -2345,7 +2323,7 @@ export const zCrackerBinaryTypeListResponse = z.object({ }).optional(), included: z.array(z.union([z.object({ id: z.int(), - type: z.literal('crackerVersions'), + type: z.literal('crackerBinary'), attributes: z.object({ crackerBinaryTypeId: z.int(), version: z.string(), @@ -2354,10 +2332,8 @@ export const zCrackerBinaryTypeListResponse = z.object({ }) }), z.object({ id: z.int(), - type: z.literal('tasks'), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -2366,7 +2342,7 @@ export const zCrackerBinaryTypeListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -2444,8 +2420,8 @@ export const zFileResponse = z.object({ self: z.string().default('/api/v2/ui/files?page[size]=25'), first: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -2557,8 +2533,8 @@ export const zFileListResponse = z.object({ self: z.string().default('/api/v2/ui/files?page[size]=25'), first: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -2617,7 +2593,7 @@ export const zGlobalPermissionGroupCreate = z.object({ type: z.literal('globalPermissionGroup'), attributes: z.object({ name: z.string(), - permissions: z.record(z.string(), z.boolean()).optional() + permissions: z.record(z.string(), z.boolean()) }) }) }); @@ -2641,8 +2617,8 @@ export const zGlobalPermissionGroupResponse = z.object({ self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), first: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -2666,7 +2642,7 @@ export const zGlobalPermissionGroupResponse = z.object({ }).optional(), included: z.array(z.object({ id: z.int(), - type: z.literal('userMembers'), + type: z.literal('user'), attributes: z.object({ name: z.string(), email: z.string(), @@ -2709,8 +2685,8 @@ export const zGlobalPermissionGroupListResponse = z.object({ self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), first: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -2734,7 +2710,7 @@ export const zGlobalPermissionGroupListResponse = z.object({ }).optional(), included: z.array(z.object({ id: z.int(), - type: z.literal('userMembers'), + type: z.literal('user'), attributes: z.object({ name: z.string(), email: z.string(), @@ -2776,8 +2752,8 @@ export const zHashResponse = z.object({ self: z.string().default('/api/v2/ui/hashes?page[size]=25'), first: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -2847,9 +2823,6 @@ export const zHashResponse = z.object({ id: z.int(), type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -2859,7 +2832,7 @@ export const zHashResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -2882,8 +2855,8 @@ export const zHashListResponse = z.object({ self: z.string().default('/api/v2/ui/hashes?page[size]=25'), first: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -2953,9 +2926,6 @@ export const zHashListResponse = z.object({ id: z.int(), type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -2965,7 +2935,7 @@ export const zHashListResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -2997,7 +2967,7 @@ export const zHashlistCreate = z.object({ data: z.object({ type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string().optional(), + hashlistSeperator: z.string().nullish(), sourceType: z.string(), sourceData: z.string(), name: z.string(), @@ -3009,7 +2979,7 @@ export const zHashlistCreate = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string().optional(), + separator: z.string().nullish(), isSecret: z.boolean(), isHexSalt: z.boolean(), isSalted: z.boolean(), @@ -3044,8 +3014,8 @@ export const zHashlistResponse = z.object({ self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), first: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -3060,7 +3030,7 @@ export const zHashlistResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -3143,7 +3113,7 @@ export const zHashlistResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('hashes'), + type: z.literal('hash'), attributes: z.object({ hashlistId: z.int(), hash: z.string(), @@ -3157,11 +3127,8 @@ export const zHashlistResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('hashlists'), + type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -3171,7 +3138,7 @@ export const zHashlistResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -3185,10 +3152,8 @@ export const zHashlistResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('tasks'), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -3197,7 +3162,7 @@ export const zHashlistResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -3231,7 +3196,7 @@ export const zHashlistSingleResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -3314,7 +3279,7 @@ export const zHashlistSingleResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('hashes'), + type: z.literal('hash'), attributes: z.object({ hashlistId: z.int(), hash: z.string(), @@ -3328,11 +3293,8 @@ export const zHashlistSingleResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('hashlists'), + type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -3342,7 +3304,7 @@ export const zHashlistSingleResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -3356,10 +3318,8 @@ export const zHashlistSingleResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('tasks'), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -3368,7 +3328,7 @@ export const zHashlistSingleResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -3406,7 +3366,7 @@ export const zHashlistPostPatchResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -3429,8 +3389,8 @@ export const zHashlistListResponse = z.object({ self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), first: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -3445,7 +3405,7 @@ export const zHashlistListResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -3528,7 +3488,7 @@ export const zHashlistListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('hashes'), + type: z.literal('hash'), attributes: z.object({ hashlistId: z.int(), hash: z.string(), @@ -3542,11 +3502,8 @@ export const zHashlistListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('hashlists'), + type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -3556,7 +3513,7 @@ export const zHashlistListResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -3570,10 +3527,8 @@ export const zHashlistListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('tasks'), + type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -3582,7 +3537,7 @@ export const zHashlistListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -3648,8 +3603,8 @@ export const zHashTypeResponse = z.object({ self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), first: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -3689,8 +3644,8 @@ export const zHashTypeListResponse = z.object({ self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), first: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -3714,8 +3669,8 @@ export const zHealthCheckAgentResponse = z.object({ self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), first: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -3781,7 +3736,7 @@ export const zHealthCheckAgentResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -3816,8 +3771,8 @@ export const zHealthCheckAgentListResponse = z.object({ self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), first: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -3883,7 +3838,7 @@ export const zHealthCheckAgentListResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -3958,8 +3913,8 @@ export const zHealthCheckResponse = z.object({ self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -4035,7 +3990,7 @@ export const zHealthCheckResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('healthCheckAgents'), + type: z.literal('healthCheckAgent'), attributes: z.object({ healthCheckId: z.int(), agentId: z.int(), @@ -4090,8 +4045,8 @@ export const zHealthCheckListResponse = z.object({ self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -4167,7 +4122,7 @@ export const zHealthCheckListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('healthCheckAgents'), + type: z.literal('healthCheckAgent'), attributes: z.object({ healthCheckId: z.int(), agentId: z.int(), @@ -4223,8 +4178,8 @@ export const zLogEntryResponse = z.object({ self: z.string().default('/api/v2/ui/logentries?page[size]=25'), first: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -4284,8 +4239,8 @@ export const zLogEntryListResponse = z.object({ self: z.string().default('/api/v2/ui/logentries?page[size]=25'), first: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -4387,8 +4342,8 @@ export const zNotificationSettingResponse = z.object({ self: z.string().default('/api/v2/ui/notifications?page[size]=25'), first: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -4507,8 +4462,8 @@ export const zNotificationSettingListResponse = z.object({ self: z.string().default('/api/v2/ui/notifications?page[size]=25'), first: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -4628,8 +4583,8 @@ export const zPreprocessorResponse = z.object({ self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), first: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -4675,8 +4630,8 @@ export const zPreprocessorListResponse = z.object({ self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), first: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -4743,8 +4698,8 @@ export const zPreTaskResponse = z.object({ self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -4762,7 +4717,7 @@ export const zPreTaskResponse = z.object({ maxAgents: z.int(), isMaskImport: z.boolean(), crackerBinaryTypeId: z.int(), - auxiliaryKeyspace: z.int().optional() + auxiliaryKeyspace: z.int() }) }), relationships: z.object({ @@ -4779,10 +4734,8 @@ export const zPreTaskResponse = z.object({ }).optional(), included: z.array(z.object({ id: z.int(), - type: z.literal('pretaskFiles'), + type: z.literal('file'), attributes: z.object({ - sourceType: z.string(), - sourceData: z.string(), filename: z.string(), size: z.number(), isSecret: z.boolean(), @@ -4819,7 +4772,7 @@ export const zPreTaskPostPatchResponse = z.object({ maxAgents: z.int(), isMaskImport: z.boolean(), crackerBinaryTypeId: z.int(), - auxiliaryKeyspace: z.int().optional() + auxiliaryKeyspace: z.int() }) }) }); @@ -4833,8 +4786,8 @@ export const zPreTaskListResponse = z.object({ self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -4852,7 +4805,7 @@ export const zPreTaskListResponse = z.object({ maxAgents: z.int(), isMaskImport: z.boolean(), crackerBinaryTypeId: z.int(), - auxiliaryKeyspace: z.int().optional() + auxiliaryKeyspace: z.int() }) })), relationships: z.object({ @@ -4869,10 +4822,8 @@ export const zPreTaskListResponse = z.object({ }).optional(), included: z.array(z.object({ id: z.int(), - type: z.literal('pretaskFiles'), + type: z.literal('file'), attributes: z.object({ - sourceType: z.string(), - sourceData: z.string(), filename: z.string(), size: z.number(), isSecret: z.boolean(), @@ -4911,8 +4862,8 @@ export const zSpeedResponse = z.object({ self: z.string().default('/api/v2/ui/speeds?page[size]=25'), first: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -4970,7 +4921,7 @@ export const zSpeedResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -4978,8 +4929,6 @@ export const zSpeedResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -4988,7 +4937,7 @@ export const zSpeedResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -5016,8 +4965,8 @@ export const zSpeedListResponse = z.object({ self: z.string().default('/api/v2/ui/speeds?page[size]=25'), first: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -5075,7 +5024,7 @@ export const zSpeedListResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) @@ -5083,8 +5032,6 @@ export const zSpeedListResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -5093,7 +5040,7 @@ export const zSpeedListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -5154,8 +5101,8 @@ export const zSupertaskResponse = z.object({ self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -5178,9 +5125,8 @@ export const zSupertaskResponse = z.object({ }).optional(), included: z.array(z.object({ id: z.int(), - type: z.literal('pretasks'), + type: z.literal('preTask'), attributes: z.object({ - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -5219,9 +5165,8 @@ export const zSupertaskSingleResponse = z.object({ }).optional(), included: z.array(z.object({ id: z.int(), - type: z.literal('pretasks'), + type: z.literal('preTask'), attributes: z.object({ - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -5261,8 +5206,8 @@ export const zSupertaskListResponse = z.object({ self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -5285,9 +5230,8 @@ export const zSupertaskListResponse = z.object({ }).optional(), included: z.array(z.object({ id: z.int(), - type: z.literal('pretasks'), + type: z.literal('preTask'), attributes: z.object({ - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -5330,7 +5274,7 @@ export const zTaskCreate = z.object({ statusTimer: z.int(), priority: z.int(), maxAgents: z.int(), - color: z.string().optional(), + color: z.string().nullish(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -5354,7 +5298,7 @@ export const zTaskPatch = z.object({ attributes: z.object({ attackCmd: z.string().optional(), chunkTime: z.int().optional(), - color: z.string().optional(), + color: z.string().nullish(), isArchived: z.boolean().optional(), isCpuTask: z.boolean().optional(), isSmall: z.boolean().optional(), @@ -5376,8 +5320,8 @@ export const zTaskResponse = z.object({ self: z.string().default('/api/v2/ui/tasks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -5391,7 +5335,7 @@ export const zTaskResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -5406,19 +5350,19 @@ export const zTaskResponse = z.object({ forcePipe: z.boolean(), preprocessorId: z.int(), preprocessorCommand: z.string(), - activeAgents: z.int().optional(), - dispatched: z.string().optional(), - searched: z.string().optional(), + activeAgents: z.int(), + dispatched: z.string(), + searched: z.string(), status: z.union([ z.literal(0), z.literal(1), z.literal(2), z.literal(3) - ]).optional(), - estimatedTime: z.int().optional(), - timeSpent: z.int().optional(), - currentSpeed: z.int().optional(), - cprogress: z.int().optional() + ]), + estimatedTime: z.int(), + timeSpent: z.int(), + currentSpeed: z.int(), + cprogress: z.int() }) }), relationships: z.object({ @@ -5506,9 +5450,6 @@ export const zTaskResponse = z.object({ id: z.int(), type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -5518,7 +5459,7 @@ export const zTaskResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -5532,7 +5473,7 @@ export const zTaskResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('assignedAgents'), + type: z.literal('agent'), attributes: z.object({ agentName: z.string(), uid: z.string(), @@ -5554,17 +5495,15 @@ export const zTaskResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) }), z.object({ id: z.int(), - type: z.literal('files'), + type: z.literal('file'), attributes: z.object({ - sourceType: z.string(), - sourceData: z.string(), filename: z.string(), size: z.number(), isSecret: z.boolean(), @@ -5580,7 +5519,7 @@ export const zTaskResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('speeds'), + type: z.literal('speed'), attributes: z.object({ agentId: z.int(), taskId: z.int(), @@ -5608,7 +5547,7 @@ export const zTaskPostPatchResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -5623,19 +5562,19 @@ export const zTaskPostPatchResponse = z.object({ forcePipe: z.boolean(), preprocessorId: z.int(), preprocessorCommand: z.string(), - activeAgents: z.int().optional(), - dispatched: z.string().optional(), - searched: z.string().optional(), + activeAgents: z.int(), + dispatched: z.string(), + searched: z.string(), status: z.union([ z.literal(0), z.literal(1), z.literal(2), z.literal(3) - ]).optional(), - estimatedTime: z.int().optional(), - timeSpent: z.int().optional(), - currentSpeed: z.int().optional(), - cprogress: z.int().optional() + ]), + estimatedTime: z.int(), + timeSpent: z.int(), + currentSpeed: z.int(), + cprogress: z.int() }) }) }); @@ -5649,8 +5588,8 @@ export const zTaskListResponse = z.object({ self: z.string().default('/api/v2/ui/tasks?page[size]=25'), first: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -5664,7 +5603,7 @@ export const zTaskListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -5679,19 +5618,19 @@ export const zTaskListResponse = z.object({ forcePipe: z.boolean(), preprocessorId: z.int(), preprocessorCommand: z.string(), - activeAgents: z.int().optional(), - dispatched: z.string().optional(), - searched: z.string().optional(), + activeAgents: z.int(), + dispatched: z.string(), + searched: z.string(), status: z.union([ z.literal(0), z.literal(1), z.literal(2), z.literal(3) - ]).optional(), - estimatedTime: z.int().optional(), - timeSpent: z.int().optional(), - currentSpeed: z.int().optional(), - cprogress: z.int().optional() + ]), + estimatedTime: z.int(), + timeSpent: z.int(), + currentSpeed: z.int(), + cprogress: z.int() }) })), relationships: z.object({ @@ -5779,9 +5718,6 @@ export const zTaskListResponse = z.object({ id: z.int(), type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -5791,7 +5727,7 @@ export const zTaskListResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -5805,7 +5741,7 @@ export const zTaskListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('assignedAgents'), + type: z.literal('agent'), attributes: z.object({ agentName: z.string(), uid: z.string(), @@ -5827,17 +5763,15 @@ export const zTaskListResponse = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.int(), + userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() }) }), z.object({ id: z.int(), - type: z.literal('files'), + type: z.literal('file'), attributes: z.object({ - sourceType: z.string(), - sourceData: z.string(), filename: z.string(), size: z.number(), isSecret: z.boolean(), @@ -5853,7 +5787,7 @@ export const zTaskListResponse = z.object({ }), z.object({ id: z.int(), - type: z.literal('speeds'), + type: z.literal('speed'), attributes: z.object({ agentId: z.int(), taskId: z.int(), @@ -5900,8 +5834,8 @@ export const zTaskWrapperResponse = z.object({ self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), first: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -5984,9 +5918,6 @@ export const zTaskWrapperResponse = z.object({ id: z.int(), type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -5996,7 +5927,7 @@ export const zTaskWrapperResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -6021,8 +5952,6 @@ export const zTaskWrapperResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -6031,38 +5960,7 @@ export const zTaskWrapperResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - }), - z.object({ - id: z.int(), - type: z.literal('tasks'), - attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -6164,9 +6062,6 @@ export const zTaskWrapperSingleResponse = z.object({ id: z.int(), type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -6176,7 +6071,7 @@ export const zTaskWrapperSingleResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -6201,39 +6096,6 @@ export const zTaskWrapperSingleResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - }), - z.object({ - id: z.int(), - type: z.literal('tasks'), - attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -6242,7 +6104,7 @@ export const zTaskWrapperSingleResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -6295,8 +6157,8 @@ export const zTaskWrapperListResponse = z.object({ self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), first: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -6379,9 +6241,6 @@ export const zTaskWrapperListResponse = z.object({ id: z.int(), type: z.literal('hashlist'), attributes: z.object({ - hashlistSeperator: z.string(), - sourceType: z.string(), - sourceData: z.string(), name: z.string(), format: z.union([ z.literal(0), @@ -6391,7 +6250,7 @@ export const zTaskWrapperListResponse = z.object({ ]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string(), + separator: z.string().nullable(), cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), @@ -6416,8 +6275,6 @@ export const zTaskWrapperListResponse = z.object({ id: z.int(), type: z.literal('task'), attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -6426,38 +6283,7 @@ export const zTaskWrapperListResponse = z.object({ keyspaceProgress: z.number(), priority: z.int(), maxAgents: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - }), - z.object({ - id: z.int(), - type: z.literal('tasks'), - attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string(), + color: z.string().nullable(), isSmall: z.boolean(), isCpuTask: z.boolean(), useNewBench: z.boolean(), @@ -6523,8 +6349,8 @@ export const zUserResponse = z.object({ self: z.string().default('/api/v2/ui/users?page[size]=25'), first: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -6576,7 +6402,7 @@ export const zUserResponse = z.object({ }) }), z.object({ id: z.int(), - type: z.literal('accessGroups'), + type: z.literal('accessGroup'), attributes: z.object({ groupName: z.string() }) @@ -6618,8 +6444,8 @@ export const zUserListResponse = z.object({ self: z.string().default('/api/v2/ui/users?page[size]=25'), first: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), @@ -6671,7 +6497,7 @@ export const zUserListResponse = z.object({ }) }), z.object({ id: z.int(), - type: z.literal('accessGroups'), + type: z.literal('accessGroup'), attributes: z.object({ groupName: z.string() }) @@ -6719,8 +6545,8 @@ export const zVoucherResponse = z.object({ self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), first: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') }).optional(), data: z.object({ id: z.int(), @@ -6758,8 +6584,8 @@ export const zVoucherListResponse = z.object({ self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), first: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=0'), last: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=500'), - next: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), - previous: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') + next: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') }).optional(), data: z.array(z.object({ id: z.int(), From 3dde3769acfe17433576d016d3fa754145af0b7e Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Tue, 24 Mar 2026 14:51:15 +0100 Subject: [PATCH 07/14] Adjust hand written schema and regenerate openapi spec --- openapi.json | 2 +- src/app/core/_models/agent.model.ts | 2 +- src/app/core/_models/schemas.ts | 14 +------------- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/openapi.json b/openapi.json index 54abc7303..c10e598de 100644 --- a/openapi.json +++ b/openapi.json @@ -62,7 +62,7 @@ "name": "include", "in": "query", "schema": { "type": "string" }, - "description": "Items to include, comma seperated. Possible options: userMembers,agentMembers" + "description": "Items to include, comma seperated. Possible options: Array" } ], "summary": "List AccessGroups", diff --git a/src/app/core/_models/agent.model.ts b/src/app/core/_models/agent.model.ts index fee15268a..531c3965a 100644 --- a/src/app/core/_models/agent.model.ts +++ b/src/app/core/_models/agent.model.ts @@ -25,7 +25,7 @@ export interface JAgent extends BaseModel { lastAct: string; lastTime: number; lastIp: string; - userId: number; + userId: number | null; user?: JUser; cpuOnly: boolean; clientSignature: string; diff --git a/src/app/core/_models/schemas.ts b/src/app/core/_models/schemas.ts index 0e4fc2690..cf227ad81 100644 --- a/src/app/core/_models/schemas.ts +++ b/src/app/core/_models/schemas.ts @@ -5,8 +5,6 @@ import { z } from 'zod'; -// ── Agent ─────────────────────────────────────────────────────── - export const zJAgent = z.object({ id: z.number(), type: z.literal('agent'), @@ -22,13 +20,11 @@ export const zJAgent = z.object({ lastAct: z.string(), lastTime: z.number(), lastIp: z.string(), - userId: z.number(), + userId: z.number().nullable(), cpuOnly: z.boolean(), clientSignature: z.string(), }).passthrough(); -// ── Chunk ─────────────────────────────────────────────────────── - export const zJChunk = z.object({ id: z.number(), type: z.literal('chunk'), @@ -45,8 +41,6 @@ export const zJChunk = z.object({ speed: z.number(), }).passthrough(); -// ── File ──────────────────────────────────────────────────────── - export const zJFile = z.object({ id: z.number(), type: z.literal('file'), @@ -58,8 +52,6 @@ export const zJFile = z.object({ lineCount: z.number(), }).passthrough(); -// ── Health Check ──────────────────────────────────────────────── - export const zJHealthCheck = z.object({ id: z.number(), type: z.literal('healthCheck'), @@ -72,8 +64,6 @@ export const zJHealthCheck = z.object({ time: z.number(), }).passthrough(); -// ── Health Check Agent ────────────────────────────────────────── - export const zJHealthCheckAgent = z.object({ id: z.number(), type: z.literal('healthCheckAgent'), @@ -87,8 +77,6 @@ export const zJHealthCheckAgent = z.object({ errors: z.string(), }).passthrough(); -// ── Notification Setting ──────────────────────────────────────── - export const zJNotification = z.object({ id: z.number(), type: z.literal('notificationSetting'), From f799a91b57981387200e17abb3d29b5137c77c61 Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Tue, 24 Mar 2026 15:55:34 +0100 Subject: [PATCH 08/14] Remove type assertions, fix two endpoint usages that pull the wrong api/expect the wrong schema --- .../acc-settings.component.spec.ts | 17 ++- .../acc-settings/acc-settings.component.ts | 9 +- .../agents/edit-agent/edit-agent.component.ts | 7 +- .../view-health-checks.component.ts | 3 +- .../core/_datasources/agents.datasource.ts | 2 +- .../core/_datasources/chunks.datasource.ts | 2 +- .../core/_datasources/crackers.datasource.ts | 2 +- src/app/core/_datasources/files.datasource.ts | 2 +- .../health-check-agents.datasource.ts | 2 +- .../_datasources/health-checks.datasource.ts | 2 +- .../_datasources/notifications.datasource.ts | 2 +- .../_datasources/tasks-chunks.datasource.ts | 2 +- .../tasks-supertasks.datasource.ts | 2 +- src/app/core/_models/agent.model.ts | 2 +- .../_services/api/serializer-service.spec.ts | 109 ++++++++++++++++++ src/app/hashlists/hashes/hashes.component.ts | 2 +- .../task-visual/task-visual.component.ts | 4 +- .../edit-supertasks.component.ts | 4 +- .../tasks/edit-tasks/edit-tasks.component.ts | 3 +- .../wrbulk/wrbulk.component.ts | 2 +- .../edit-groups/edit-groups.component.spec.ts | 83 +++++++++++++ .../edit-groups/edit-groups.component.ts | 7 +- 22 files changed, 239 insertions(+), 31 deletions(-) create mode 100644 src/app/core/_services/api/serializer-service.spec.ts create mode 100644 src/app/users/edit-groups/edit-groups.component.spec.ts diff --git a/src/app/account/settings/acc-settings/acc-settings.component.spec.ts b/src/app/account/settings/acc-settings/acc-settings.component.spec.ts index 3bc7ce917..f109c1d76 100644 --- a/src/app/account/settings/acc-settings/acc-settings.component.spec.ts +++ b/src/app/account/settings/acc-settings/acc-settings.component.spec.ts @@ -71,7 +71,7 @@ describe('AccountSettingsComponent', () => { }, // eslint-disable-next-line @typescript-eslint/no-unused-vars ghelper(_serviceConfig, _option: string): Observable { - return of({ data: userResponse, included: [] }); + return of({ jsonapi: { version: '1.1' }, data: userResponse, included: [] }); }, // eslint-disable-next-line @typescript-eslint/no-unused-vars uhelper(_serviceConfig, _id: number, _option: string, _payload: unknown): Observable { @@ -122,6 +122,21 @@ describe('AccountSettingsComponent', () => { expect(component).toBeTruthy(); }); + describe('User settings loading', () => { + it('populates form with user data from single-object response', () => { + // The mock ghelper returns { data: userResponse } (single object, not array). + // loadUserSettings() is called in ngOnInit, so the form should already be populated. + expect(component.form.get('name')?.value).toBe('admin'); + expect(component.form.get('email')?.value).toBe('admin@localhost'); + }); + + it('populates registeredSince as a formatted date', () => { + // registeredSince should be set from the user data, not be null/undefined + const registeredSince = component.form.get('registeredSince')?.value; + expect(registeredSince).toBeTruthy(); + }); + }); + describe('Main form tests', () => { it('validates email as required', () => { const emailControl = component.form.get('email'); diff --git a/src/app/account/settings/acc-settings/acc-settings.component.ts b/src/app/account/settings/acc-settings/acc-settings.component.ts index 6a55e9189..399915b89 100644 --- a/src/app/account/settings/acc-settings/acc-settings.component.ts +++ b/src/app/account/settings/acc-settings/acc-settings.component.ts @@ -224,13 +224,12 @@ export class AccountSettingsComponent implements OnInit, OnDestroy { private loadUserSettings() { this.subscriptions.push( this.gs.ghelper(SERV.HELPER, 'currentUser').subscribe((response) => { - const users: JUser = new JsonAPISerializer().deserialize(response, zUserResponse); - const user = users[0]; + const user: JUser = new JsonAPISerializer().deserialize(response, zUserResponse); this.form.patchValue({ - name: user?.name, - registeredSince: this.datePipe.transform(Number(user?.registeredSince)), - email: user?.email + name: user.name, + registeredSince: this.datePipe.transform(user.registeredSince), + email: user.email }); }) ); diff --git a/src/app/agents/edit-agent/edit-agent.component.ts b/src/app/agents/edit-agent/edit-agent.component.ts index a119218ba..75bf21b68 100644 --- a/src/app/agents/edit-agent/edit-agent.component.ts +++ b/src/app/agents/edit-agent/edit-agent.component.ts @@ -188,7 +188,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { }) ); - const agent = zJAgent.parse(this.serializer.deserialize(response, zAgentResponse)) as JAgent; + const agent: JAgent = zJAgent.parse(this.serializer.deserialize(response, zAgentResponse)); this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); if (this.agentRoleService.hasRole('readAssignment')) { @@ -211,7 +211,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { if (httpErr?.status && httpErr.status >= 500) { const response = await firstValueFrom(this.gs.get(SERV.AGENTS, this.editedAgentIndex)); - const agent = zJAgent.parse(this.serializer.deserialize(response, zAgentResponse)) as JAgent; + const agent: JAgent = zJAgent.parse(this.serializer.deserialize(response, zAgentResponse)); this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); return; @@ -234,7 +234,6 @@ export class EditAgentComponent implements OnInit, OnDestroy { const loadTasksSubscription$ = this.gs .ghelper(SERV.HELPER, 'getBestTasksAgent?agent=' + this.editedAgentIndex) .subscribe((response: ResponseWrapper) => { - console.log('RESPONSE: ', response); const tasks: JTask[] = this.serializer.deserialize(response, zTaskListResponse); this.assignTasks = transformSelectOptions(tasks, TASKS_FIELD_MAPPING); }); @@ -306,7 +305,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { .create(); const chunksSub$ = this.gs.getAll(SERV.CHUNKS, chunkRequestParams).subscribe((response: ResponseWrapper) => { - const chunks = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)) as JChunk[]; + const chunks: JChunk[] = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)); const tasksSub$ = this.gs.getAll(SERV.TASKS).subscribe((tasksResponse: ResponseWrapper) => { const tasks: JTask[] = this.serializer.deserialize(tasksResponse, zTaskListResponse); diff --git a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts index b9d227195..9fb8c6ba6 100644 --- a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts +++ b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts @@ -81,7 +81,8 @@ export class ViewHealthChecksComponent implements OnInit, OnDestroy { const loadSubscription$ = this.gs .get(SERV.HEALTH_CHECKS, this.viewedHealthCIndex) .subscribe((response: ResponseWrapper) => { - this.healthc = zJHealthCheck.parse(new JsonAPISerializer().deserialize(response, zHealthCheckResponse)) as JHealthCheck; + const healthCheck: JHealthCheck = zJHealthCheck.parse(new JsonAPISerializer().deserialize(response, zHealthCheckResponse)); + this.healthc = healthCheck; }); this.unsubscribeService.add(loadSubscription$); } diff --git a/src/app/core/_datasources/agents.datasource.ts b/src/app/core/_datasources/agents.datasource.ts index 2ef3be378..a54431c24 100644 --- a/src/app/core/_datasources/agents.datasource.ts +++ b/src/app/core/_datasources/agents.datasource.ts @@ -73,7 +73,7 @@ export class AgentsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(async (response: ResponseWrapper) => { - const agents = z.array(zJAgent).parse(this.serializer.deserialize(response, zAgentListResponse)) as JAgent[]; + const agents: JAgent[] = z.array(zJAgent).parse(this.serializer.deserialize(response, zAgentListResponse)); if (agents && agents.length > 0) { agents.forEach((agent: JAgent) => { diff --git a/src/app/core/_datasources/chunks.datasource.ts b/src/app/core/_datasources/chunks.datasource.ts index 358139b7d..5aa0be03d 100644 --- a/src/app/core/_datasources/chunks.datasource.ts +++ b/src/app/core/_datasources/chunks.datasource.ts @@ -52,7 +52,7 @@ export class ChunksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(([response]: [ResponseWrapper]) => { - const assignedChunks = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)) as JChunk[]; + const assignedChunks: JChunk[] = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)); assignedChunks.forEach((chunk: JChunk) => { if (chunk.task != undefined) { diff --git a/src/app/core/_datasources/crackers.datasource.ts b/src/app/core/_datasources/crackers.datasource.ts index 5f94e705f..26fe80173 100644 --- a/src/app/core/_datasources/crackers.datasource.ts +++ b/src/app/core/_datasources/crackers.datasource.ts @@ -51,7 +51,7 @@ export class CrackersDataSource extends BaseDataSource { const before = prevLink ? new URL(prevLink).searchParams.get('page[before]') : null; this.setPaginationConfig(this.pageSize, length, after, before, this.index); - this.setData(crackers as JCrackerBinaryType[]); + this.setData(crackers); }) ); } diff --git a/src/app/core/_datasources/files.datasource.ts b/src/app/core/_datasources/files.datasource.ts index c1872202f..09f5ef429 100644 --- a/src/app/core/_datasources/files.datasource.ts +++ b/src/app/core/_datasources/files.datasource.ts @@ -119,7 +119,7 @@ export class FilesDataSource extends BaseDataSource { this.setData(pretask.pretaskFiles as JFile[]); } else { - const files = z.array(zJFile).parse(this.serializer.deserialize(response, zFileListResponse)) as JFile[]; + const files: JFile[] = z.array(zJFile).parse(this.serializer.deserialize(response, zFileListResponse)); const nextLink = response.links.next; const prevLink = response.links.prev; diff --git a/src/app/core/_datasources/health-check-agents.datasource.ts b/src/app/core/_datasources/health-check-agents.datasource.ts index 1ddbb2598..fd6461e2f 100644 --- a/src/app/core/_datasources/health-check-agents.datasource.ts +++ b/src/app/core/_datasources/health-check-agents.datasource.ts @@ -41,7 +41,7 @@ export class HealthCheckAgentsDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((healthCheckResponse: ResponseWrapper) => { - const healthChecksAgent = z.array(zJHealthCheckAgent).parse(this.serializer.deserialize(healthCheckResponse, zHealthCheckAgentListResponse)) as JHealthCheckAgent[]; + const healthChecksAgent: JHealthCheckAgent[] = z.array(zJHealthCheckAgent).parse(this.serializer.deserialize(healthCheckResponse, zHealthCheckAgentListResponse)); const length = healthCheckResponse.meta.page.total_elements; const nextLink = healthCheckResponse.links.next; diff --git a/src/app/core/_datasources/health-checks.datasource.ts b/src/app/core/_datasources/health-checks.datasource.ts index 06261341e..ef3ade13a 100644 --- a/src/app/core/_datasources/health-checks.datasource.ts +++ b/src/app/core/_datasources/health-checks.datasource.ts @@ -44,7 +44,7 @@ export class HealthChecksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(([response]: [ResponseWrapper]) => { - const healthChecks = z.array(zJHealthCheck).parse(this.serializer.deserialize(response, zHealthCheckListResponse)) as JHealthCheck[]; + const healthChecks: JHealthCheck[] = z.array(zJHealthCheck).parse(this.serializer.deserialize(response, zHealthCheckListResponse)); healthChecks.forEach((healthCheck: JHealthCheck) => { healthCheck.hashTypeDescription = healthCheck.hashType?.description; diff --git a/src/app/core/_datasources/notifications.datasource.ts b/src/app/core/_datasources/notifications.datasource.ts index 5609fc57b..d1bcf85f3 100644 --- a/src/app/core/_datasources/notifications.datasource.ts +++ b/src/app/core/_datasources/notifications.datasource.ts @@ -44,7 +44,7 @@ export class NotificationsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const notifications = z.array(zJNotification).parse(this.serializer.deserialize(response, zNotificationSettingListResponse)) as JNotification[]; + const notifications: JNotification[] = z.array(zJNotification).parse(this.serializer.deserialize(response, zNotificationSettingListResponse)); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/tasks-chunks.datasource.ts b/src/app/core/_datasources/tasks-chunks.datasource.ts index a5ad0e0ed..f99c03029 100644 --- a/src/app/core/_datasources/tasks-chunks.datasource.ts +++ b/src/app/core/_datasources/tasks-chunks.datasource.ts @@ -85,7 +85,7 @@ export class TasksChunksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const chunks = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)) as JChunk[]; + const chunks: JChunk[] = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)); const chunksToShow: JChunk[] = chunks.map((chunk: JChunk) => { if (chunk.agent) { diff --git a/src/app/core/_datasources/tasks-supertasks.datasource.ts b/src/app/core/_datasources/tasks-supertasks.datasource.ts index ce2e90741..ddeec0dc5 100644 --- a/src/app/core/_datasources/tasks-supertasks.datasource.ts +++ b/src/app/core/_datasources/tasks-supertasks.datasource.ts @@ -58,7 +58,7 @@ export class TasksSupertasksDataSource extends BaseDataSource { .getAll(SERV.CHUNKS, chunkParams.create()) .pipe(finalize(() => this.setData(subtasks))) .subscribe((chunkResponse: ResponseWrapper) => { - const chunks = z.array(zJChunk).parse(this.serializer.deserialize(chunkResponse, zChunkListResponse)) as JChunk[]; + const chunks: JChunk[] = z.array(zJChunk).parse(this.serializer.deserialize(chunkResponse, zChunkListResponse)); subtasks.forEach((task) => { task.chunkData = this.convertChunks(task.id, chunks, false, task.keyspace); }); diff --git a/src/app/core/_models/agent.model.ts b/src/app/core/_models/agent.model.ts index 531c3965a..cc9a8c71b 100644 --- a/src/app/core/_models/agent.model.ts +++ b/src/app/core/_models/agent.model.ts @@ -25,7 +25,7 @@ export interface JAgent extends BaseModel { lastAct: string; lastTime: number; lastIp: string; - userId: number | null; + userId?: number | null; user?: JUser; cpuOnly: boolean; clientSignature: string; diff --git a/src/app/core/_services/api/serializer-service.spec.ts b/src/app/core/_services/api/serializer-service.spec.ts new file mode 100644 index 000000000..b0995a9e9 --- /dev/null +++ b/src/app/core/_services/api/serializer-service.spec.ts @@ -0,0 +1,109 @@ +import { JsonAPISerializer } from './serializer-service'; +import { zUserResponse, zUserListResponse, zAccessGroupListResponse } from '@generated/api/zod.gen'; + +describe('JsonAPISerializer', () => { + let serializer: JsonAPISerializer; + + const jsonapi = { version: '1.1' }; + + const userAttributes = { + name: 'admin', + email: 'admin@localhost', + isValid: true, + isComputedPassword: true, + lastLoginDate: 1752647017, + registeredSince: 1744086356, + sessionLifetime: 3600, + globalPermissionGroupId: 1, + yubikey: '0', + otp1: '', + otp2: '', + otp3: '', + otp4: '' + }; + + const singleUserBody = { + jsonapi, + data: { + id: 1, + type: 'user', + attributes: userAttributes + } + }; + + const userListBody = { + jsonapi, + data: [ + { + id: 1, + type: 'user', + attributes: userAttributes + }, + { + id: 2, + type: 'user', + attributes: { + ...userAttributes, + name: 'testuser', + email: 'test@example.com' + } + } + ] + }; + + beforeEach(() => { + serializer = new JsonAPISerializer(); + }); + + describe('single-object response (zUserResponse)', () => { + it('returns a single flat object, not an array', () => { + const result = serializer.deserialize(singleUserBody, zUserResponse); + + // Must be a plain object, NOT an array + expect(Array.isArray(result)).toBe(false); + expect(typeof result).toBe('object'); + }); + + it('flattens attributes onto the root object', () => { + const user = serializer.deserialize(singleUserBody, zUserResponse); + + expect(user.id).toBe(1); + expect(user.name).toBe('admin'); + expect(user.email).toBe('admin@localhost'); + expect(user.registeredSince).toBe(1744086356); + }); + + it('should not be indexable as an array', () => { + const user = serializer.deserialize(singleUserBody, zUserResponse); + + // This is the Bug 1 pattern: code does user[0] expecting array behavior + // On a flat object, [0] is undefined + expect(user[0]).toBeUndefined(); + }); + }); + + describe('list response (zUserListResponse)', () => { + it('returns an array of flat user objects', () => { + const result = serializer.deserialize(userListBody, zUserListResponse); + + expect(Array.isArray(result)).toBe(true); + expect(result.length).toBe(2); + }); + + it('flattens attributes onto each array element', () => { + const users = serializer.deserialize(userListBody, zUserListResponse); + + expect(users[0].name).toBe('admin'); + expect(users[1].name).toBe('testuser'); + }); + }); + + describe('schema mismatch detection', () => { + it('throws when user data is validated against access group schema', () => { + // Bug 2: using zAccessGroupListResponse for user data should fail validation + expect(() => { + serializer.deserialize(userListBody, zAccessGroupListResponse); + }).toThrow(); + }); + }); +}); diff --git a/src/app/hashlists/hashes/hashes.component.ts b/src/app/hashlists/hashes/hashes.component.ts index 0047cc26b..a80ee978c 100644 --- a/src/app/hashlists/hashes/hashes.component.ts +++ b/src/app/hashlists/hashes/hashes.component.ts @@ -139,7 +139,7 @@ export class HashesComponent implements OnInit, OnDestroy { case 'chunkshash': this.whichView = 'chunks'; this.gs.get(SERV.CHUNKS, this.editedIndex).subscribe((response: ResponseWrapper) => { - const chunk = zJChunk.parse(new JsonAPISerializer().deserialize(response, zChunkResponse)) as JChunk; + const chunk: JChunk = zJChunk.parse(new JsonAPISerializer().deserialize(response, zChunkResponse)); this.titleName = String(chunk.id); }); break; diff --git a/src/app/shared/graphs/task-visual/task-visual.component.ts b/src/app/shared/graphs/task-visual/task-visual.component.ts index 8d5caaa92..518aab771 100644 --- a/src/app/shared/graphs/task-visual/task-visual.component.ts +++ b/src/app/shared/graphs/task-visual/task-visual.component.ts @@ -82,7 +82,7 @@ export class TaskVisualComponent implements AfterViewInit { if (taskWrappers[0].taskType === TaskType.SUPERTASK && this.view === 'supertask') { for (let i = 0; i < taskWrappers.length; i++) { this.gs.getAll(SERV.CHUNKS, paramsTasks).subscribe((response: ResponseWrapper) => { - const chunks = z.array(zJChunk).parse(new JsonAPISerializer().deserialize(response, zChunkListResponse)) as JChunk[]; + const chunks: JChunk[] = z.array(zJChunk).parse(new JsonAPISerializer().deserialize(response, zChunkListResponse)); const progress = []; let cracked = []; @@ -124,7 +124,7 @@ export class TaskVisualComponent implements AfterViewInit { } } else { this.gs.getAll(SERV.CHUNKS, paramsTasks).subscribe((response: ResponseWrapper) => { - const ch = z.array(zJChunk).parse(new JsonAPISerializer().deserialize(response, zChunkListResponse)) as JChunk[]; // Get chunks by id + const ch: JChunk[] = z.array(zJChunk).parse(new JsonAPISerializer().deserialize(response, zChunkListResponse)); // Get chunks by id // Getting variables const keyspace = Number(this.tkeyspace); // Get Keyspace Progress diff --git a/src/app/tasks/edit-supertasks/edit-supertasks.component.ts b/src/app/tasks/edit-supertasks/edit-supertasks.component.ts index 0f174c77d..dec44936d 100644 --- a/src/app/tasks/edit-supertasks/edit-supertasks.component.ts +++ b/src/app/tasks/edit-supertasks/edit-supertasks.component.ts @@ -139,7 +139,7 @@ export class EditSupertasksComponent implements OnInit, OnDestroy { if (this.roleService.hasRole('editSupertaskPreTasks')) { const loadPTSubscription$ = this.gs.getAll(SERV.PRETASKS).subscribe((responsePT: ResponseWrapper) => { const pretasks: JPretask[] = this.serializer.deserialize(responsePT, zPreTaskListResponse); - const availablePretasks = this.getAvailablePretasks((supertask as any).pretasks as JPretask[], pretasks); + const availablePretasks = this.getAvailablePretasks(supertask.pretasks ?? [], pretasks); this.selectPretasks = transformSelectOptions(availablePretasks, SUPER_TASK_FIELD_MAPPING); this.isLoading = false; @@ -173,7 +173,7 @@ export class EditSupertasksComponent implements OnInit, OnDestroy { // still try to load pretasks list for selection const loadPTSubscription2$ = this.gs.getAll(SERV.PRETASKS).subscribe((responsePT: ResponseWrapper) => { const pretasks: JPretask[] = this.serializer.deserialize(responsePT, zPreTaskListResponse); - const availablePretasks = this.getAvailablePretasks((supertask2 as any).pretasks as JPretask[], pretasks); + const availablePretasks = this.getAvailablePretasks(supertask2.pretasks ?? [], pretasks); this.selectPretasks = transformSelectOptions(availablePretasks, SUPER_TASK_FIELD_MAPPING); this.isLoading = false; this.changeDetectorRef.detectChanges(); diff --git a/src/app/tasks/edit-tasks/edit-tasks.component.ts b/src/app/tasks/edit-tasks/edit-tasks.component.ts index 31406ab0c..789b5d2ae 100644 --- a/src/app/tasks/edit-tasks/edit-tasks.component.ts +++ b/src/app/tasks/edit-tasks/edit-tasks.component.ts @@ -354,7 +354,8 @@ export class EditTasksComponent implements OnInit, OnDestroy { } this.gs.getAll(SERV.AGENTS, params.create()).subscribe((responseAgents: ResponseWrapper) => { - this.availAgents = z.array(zJAgent).parse(this.serializer.deserialize(responseAgents, zAgentListResponse)) as JAgent[]; + const agents: JAgent[] = z.array(zJAgent).parse(this.serializer.deserialize(responseAgents, zAgentListResponse)); + this.availAgents = agents; this.selectAgents = transformSelectOptions(this.availAgents, AGENT_MAPPING); this.isLoadingAgents = false; }); diff --git a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts index 162bbf364..656780183 100644 --- a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts +++ b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts @@ -152,7 +152,7 @@ export class WrbulkComponent implements OnInit, OnDestroy { const fileName: string = await new Promise((resolve, reject) => { const fileSubscription$ = this.gs.get(SERV.FILES, iter).subscribe({ next: (response: ResponseWrapper) => { - const file = zJFile.parse(new JsonAPISerializer().deserialize(response, zFileResponse)) as JFile; + const file: JFile = zJFile.parse(new JsonAPISerializer().deserialize(response, zFileResponse)); resolve(file.filename); }, error: reject diff --git a/src/app/users/edit-groups/edit-groups.component.spec.ts b/src/app/users/edit-groups/edit-groups.component.spec.ts new file mode 100644 index 000000000..d13790e01 --- /dev/null +++ b/src/app/users/edit-groups/edit-groups.component.spec.ts @@ -0,0 +1,83 @@ +import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; +import { zAccessGroupListResponse, zUserListResponse } from '@generated/api/zod.gen'; + +/** + * Focused tests for the deserialization bug in EditGroupsComponent.loadSelectUsers(). + * + * The bug: `loadSelectUsers()` fetches from SERV.USERS but validates + * the response against `zAccessGroupListResponse` instead of `zUserListResponse`. + * + * We test the serializer directly to isolate the exact schema mismatch. + */ +describe('EditGroupsComponent deserialization', () => { + let serializer: JsonAPISerializer; + + const jsonapi = { version: '1.1' }; + + const userListBody = { + jsonapi, + data: [ + { + id: 10, + type: 'user', + attributes: { + name: 'alice', + email: 'alice@example.com', + isValid: true, + isComputedPassword: false, + lastLoginDate: 1752647000, + registeredSince: 1744086300, + sessionLifetime: 3600, + globalPermissionGroupId: 2, + yubikey: '0', + otp1: '', + otp2: '', + otp3: '', + otp4: '' + } + }, + { + id: 20, + type: 'user', + attributes: { + name: 'bob', + email: 'bob@example.com', + isValid: true, + isComputedPassword: false, + lastLoginDate: 1752647100, + registeredSince: 1744086400, + sessionLifetime: 7200, + globalPermissionGroupId: 1, + yubikey: '0', + otp1: '', + otp2: '', + otp3: '', + otp4: '' + } + } + ] + }; + + beforeEach(() => { + serializer = new JsonAPISerializer(); + }); + + it('should throw when user data is deserialized with zAccessGroupListResponse (the bug)', () => { + // This is the current (buggy) code path: + // const users: JAccessGroup[] = serializer.deserialize(response, zAccessGroupListResponse); + // It should throw because user-shaped data does not match access group schema. + expect(() => { + serializer.deserialize(userListBody, zAccessGroupListResponse); + }).toThrow(); + }); + + it('should correctly deserialize user data with zUserListResponse (the fix)', () => { + // After the fix, the code should use zUserListResponse + const users = serializer.deserialize(userListBody, zUserListResponse); + + expect(Array.isArray(users)).toBe(true); + expect(users.length).toBe(2); + expect(users[0].name).toBe('alice'); + expect(users[1].name).toBe('bob'); + }); +}); diff --git a/src/app/users/edit-groups/edit-groups.component.ts b/src/app/users/edit-groups/edit-groups.component.ts index 4bb11e2cf..afc9f4399 100644 --- a/src/app/users/edit-groups/edit-groups.component.ts +++ b/src/app/users/edit-groups/edit-groups.component.ts @@ -7,6 +7,7 @@ import { ActivatedRoute, Params, Router } from '@angular/router'; import { JAccessGroup } from '@models/access-group.model'; import { JAgent } from '@models/agent.model'; import { FilterType } from '@models/request-params.model'; +import { JUser } from '@models/user.model'; import { ConfirmDialogService } from '@services/confirm/confirm-dialog.service'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; @@ -30,7 +31,7 @@ import { getAddAgentsForm, getAddUsersForm } from '@src/app/users/edit-groups/edit-groups.form'; -import { zAccessGroupListResponse, zAccessGroupResponse, zAgentListResponse } from '@generated/api/zod.gen'; +import { zAccessGroupResponse, zAgentListResponse, zUserListResponse } from '@generated/api/zod.gen'; import { zJAgent } from '@models/schemas'; import { z } from 'zod'; @@ -152,7 +153,7 @@ export class EditGroupsComponent implements OnInit, OnDestroy { const requestParams = requestParamBuilder.create(); const response: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.USERS, requestParams)); - const users: JAccessGroup[] = new JsonAPISerializer().deserialize(response, zAccessGroupListResponse); + const users: JUser[] = new JsonAPISerializer().deserialize(response, zUserListResponse); this.selectUsers = transformSelectOptions(users, DEFAULT_FIELD_MAPPING); } } catch (error) { @@ -178,7 +179,7 @@ export class EditGroupsComponent implements OnInit, OnDestroy { } const requestParams = requestParamBuilder.create(); const response: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.AGENTS, requestParams)); - const agents = z.array(zJAgent).parse(new JsonAPISerializer().deserialize(response, zAgentListResponse)) as JAgent[]; + const agents: JAgent[] = z.array(zJAgent).parse(new JsonAPISerializer().deserialize(response, zAgentListResponse)); this.selectAgents = transformSelectOptions(agents, AGENT_MAPPING); } } catch (error) { From 8407dba7141f5bbb335f3075a027b1a8dc3f82ed Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Tue, 24 Mar 2026 16:39:40 +0100 Subject: [PATCH 09/14] Remvoe handwritten zod schemas by changing json-api types --- .../agents/edit-agent/edit-agent.component.ts | 8 +- .../view-health-checks.component.ts | 3 +- .../core/_datasources/agents.datasource.ts | 4 +- .../core/_datasources/chunks.datasource.ts | 4 +- src/app/core/_datasources/files.datasource.ts | 4 +- .../health-check-agents.datasource.ts | 4 +- .../_datasources/health-checks.datasource.ts | 4 +- .../_datasources/notifications.datasource.ts | 4 +- .../_datasources/tasks-chunks.datasource.ts | 4 +- .../tasks-supertasks.datasource.ts | 4 +- src/app/core/_models/json-api.types.ts | 4 +- src/app/core/_models/schemas.ts | 89 ------------------- src/app/hashlists/hashes/hashes.component.ts | 3 +- .../task-visual/task-visual.component.ts | 6 +- .../tasks/edit-tasks/edit-tasks.component.ts | 4 +- .../wrbulk/wrbulk.component.ts | 3 +- .../edit-groups/edit-groups.component.ts | 4 +- 17 files changed, 20 insertions(+), 136 deletions(-) delete mode 100644 src/app/core/_models/schemas.ts diff --git a/src/app/agents/edit-agent/edit-agent.component.ts b/src/app/agents/edit-agent/edit-agent.component.ts index 75bf21b68..62b3a5e85 100644 --- a/src/app/agents/edit-agent/edit-agent.component.ts +++ b/src/app/agents/edit-agent/edit-agent.component.ts @@ -26,8 +26,6 @@ import { UIConfigService } from '@services/shared/storage.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; import { zAgentResponse, zChunkListResponse, zTaskListResponse, zUserListResponse } from '@generated/api/zod.gen'; -import { zJAgent, zJChunk } from '@models/schemas'; -import { z } from 'zod'; import { EditAgentForm, @@ -188,7 +186,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { }) ); - const agent: JAgent = zJAgent.parse(this.serializer.deserialize(response, zAgentResponse)); + const agent: JAgent = this.serializer.deserialize(response, zAgentResponse); this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); if (this.agentRoleService.hasRole('readAssignment')) { @@ -211,7 +209,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { if (httpErr?.status && httpErr.status >= 500) { const response = await firstValueFrom(this.gs.get(SERV.AGENTS, this.editedAgentIndex)); - const agent: JAgent = zJAgent.parse(this.serializer.deserialize(response, zAgentResponse)); + const agent: JAgent = this.serializer.deserialize(response, zAgentResponse); this.showagent = agent; this.selectUserAgps = transformSelectOptions(agent.accessGroups, ACCESS_GROUP_FIELD_MAPPING); return; @@ -305,7 +303,7 @@ export class EditAgentComponent implements OnInit, OnDestroy { .create(); const chunksSub$ = this.gs.getAll(SERV.CHUNKS, chunkRequestParams).subscribe((response: ResponseWrapper) => { - const chunks: JChunk[] = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)); + const chunks: JChunk[] = this.serializer.deserialize(response, zChunkListResponse); const tasksSub$ = this.gs.getAll(SERV.TASKS).subscribe((tasksResponse: ResponseWrapper) => { const tasks: JTask[] = this.serializer.deserialize(tasksResponse, zTaskListResponse); diff --git a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts index 9fb8c6ba6..9484594ff 100644 --- a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts +++ b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts @@ -15,7 +15,6 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { UISettingsUtilityClass } from '@src/app/shared/utils/config'; import { formatUnixTimestamp } from '@src/app/shared/utils/datetime'; import { zHealthCheckResponse } from '@generated/api/zod.gen'; -import { zJHealthCheck } from '@models/schemas'; @Component({ selector: 'app-view-health-checks', @@ -81,7 +80,7 @@ export class ViewHealthChecksComponent implements OnInit, OnDestroy { const loadSubscription$ = this.gs .get(SERV.HEALTH_CHECKS, this.viewedHealthCIndex) .subscribe((response: ResponseWrapper) => { - const healthCheck: JHealthCheck = zJHealthCheck.parse(new JsonAPISerializer().deserialize(response, zHealthCheckResponse)); + const healthCheck: JHealthCheck = new JsonAPISerializer().deserialize(response, zHealthCheckResponse); this.healthc = healthCheck; }); this.unsubscribeService.add(loadSubscription$); diff --git a/src/app/core/_datasources/agents.datasource.ts b/src/app/core/_datasources/agents.datasource.ts index a54431c24..d84cc3090 100644 --- a/src/app/core/_datasources/agents.datasource.ts +++ b/src/app/core/_datasources/agents.datasource.ts @@ -17,8 +17,6 @@ import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { zAgentAssignmentListResponse, zAgentListResponse, zUserListResponse } from '@generated/api/zod.gen'; -import { zJAgent } from '@models/schemas'; -import { z } from 'zod'; import { BaseDataSource } from '@datasources/base.datasource'; @@ -73,7 +71,7 @@ export class AgentsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(async (response: ResponseWrapper) => { - const agents: JAgent[] = z.array(zJAgent).parse(this.serializer.deserialize(response, zAgentListResponse)); + const agents: JAgent[] = this.serializer.deserialize(response, zAgentListResponse); if (agents && agents.length > 0) { agents.forEach((agent: JAgent) => { diff --git a/src/app/core/_datasources/chunks.datasource.ts b/src/app/core/_datasources/chunks.datasource.ts index 5aa0be03d..d37dd8dbe 100644 --- a/src/app/core/_datasources/chunks.datasource.ts +++ b/src/app/core/_datasources/chunks.datasource.ts @@ -12,8 +12,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zChunkListResponse } from '@generated/api/zod.gen'; -import { zJChunk } from '@models/schemas'; -import { z } from 'zod'; export class ChunksDataSource extends BaseDataSource { private _agentId = 0; @@ -52,7 +50,7 @@ export class ChunksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(([response]: [ResponseWrapper]) => { - const assignedChunks: JChunk[] = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)); + const assignedChunks: JChunk[] = this.serializer.deserialize(response, zChunkListResponse); assignedChunks.forEach((chunk: JChunk) => { if (chunk.task != undefined) { diff --git a/src/app/core/_datasources/files.datasource.ts b/src/app/core/_datasources/files.datasource.ts index 09f5ef429..4bac1c1c1 100644 --- a/src/app/core/_datasources/files.datasource.ts +++ b/src/app/core/_datasources/files.datasource.ts @@ -19,8 +19,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zFileListResponse, zPreTaskResponse, zTaskResponse } from '@generated/api/zod.gen'; -import { zJFile } from '@models/schemas'; -import { z } from 'zod'; /** * Data source class definition for files @@ -119,7 +117,7 @@ export class FilesDataSource extends BaseDataSource { this.setData(pretask.pretaskFiles as JFile[]); } else { - const files: JFile[] = z.array(zJFile).parse(this.serializer.deserialize(response, zFileListResponse)); + const files: JFile[] = this.serializer.deserialize(response, zFileListResponse); const nextLink = response.links.next; const prevLink = response.links.prev; diff --git a/src/app/core/_datasources/health-check-agents.datasource.ts b/src/app/core/_datasources/health-check-agents.datasource.ts index fd6461e2f..88c1714e2 100644 --- a/src/app/core/_datasources/health-check-agents.datasource.ts +++ b/src/app/core/_datasources/health-check-agents.datasource.ts @@ -10,8 +10,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zHealthCheckAgentListResponse } from '@generated/api/zod.gen'; -import { zJHealthCheckAgent } from '@models/schemas'; -import { z } from 'zod'; export class HealthCheckAgentsDataSource extends BaseDataSource { private _healthCheckId = 0; @@ -41,7 +39,7 @@ export class HealthCheckAgentsDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((healthCheckResponse: ResponseWrapper) => { - const healthChecksAgent: JHealthCheckAgent[] = z.array(zJHealthCheckAgent).parse(this.serializer.deserialize(healthCheckResponse, zHealthCheckAgentListResponse)); + const healthChecksAgent: JHealthCheckAgent[] = this.serializer.deserialize(healthCheckResponse, zHealthCheckAgentListResponse); const length = healthCheckResponse.meta.page.total_elements; const nextLink = healthCheckResponse.links.next; diff --git a/src/app/core/_datasources/health-checks.datasource.ts b/src/app/core/_datasources/health-checks.datasource.ts index ef3ade13a..ea461f35a 100644 --- a/src/app/core/_datasources/health-checks.datasource.ts +++ b/src/app/core/_datasources/health-checks.datasource.ts @@ -12,8 +12,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zHealthCheckListResponse } from '@generated/api/zod.gen'; -import { zJHealthCheck } from '@models/schemas'; -import { z } from 'zod'; export class HealthChecksDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -44,7 +42,7 @@ export class HealthChecksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe(([response]: [ResponseWrapper]) => { - const healthChecks: JHealthCheck[] = z.array(zJHealthCheck).parse(this.serializer.deserialize(response, zHealthCheckListResponse)); + const healthChecks: JHealthCheck[] = this.serializer.deserialize(response, zHealthCheckListResponse); healthChecks.forEach((healthCheck: JHealthCheck) => { healthCheck.hashTypeDescription = healthCheck.hashType?.description; diff --git a/src/app/core/_datasources/notifications.datasource.ts b/src/app/core/_datasources/notifications.datasource.ts index d1bcf85f3..49dfe98e3 100644 --- a/src/app/core/_datasources/notifications.datasource.ts +++ b/src/app/core/_datasources/notifications.datasource.ts @@ -12,8 +12,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zNotificationSettingListResponse } from '@generated/api/zod.gen'; -import { zJNotification } from '@models/schemas'; -import { z } from 'zod'; export class NotificationsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -44,7 +42,7 @@ export class NotificationsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const notifications: JNotification[] = z.array(zJNotification).parse(this.serializer.deserialize(response, zNotificationSettingListResponse)); + const notifications: JNotification[] = this.serializer.deserialize(response, zNotificationSettingListResponse); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/tasks-chunks.datasource.ts b/src/app/core/_datasources/tasks-chunks.datasource.ts index f99c03029..b9b5071d7 100644 --- a/src/app/core/_datasources/tasks-chunks.datasource.ts +++ b/src/app/core/_datasources/tasks-chunks.datasource.ts @@ -13,8 +13,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zChunkListResponse, zTaskResponse } from '@generated/api/zod.gen'; -import { zJChunk } from '@models/schemas'; -import { z } from 'zod'; export class TasksChunksDataSource extends BaseDataSource { private _taskId = 0; @@ -85,7 +83,7 @@ export class TasksChunksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const chunks: JChunk[] = z.array(zJChunk).parse(this.serializer.deserialize(response, zChunkListResponse)); + const chunks: JChunk[] = this.serializer.deserialize(response, zChunkListResponse); const chunksToShow: JChunk[] = chunks.map((chunk: JChunk) => { if (chunk.agent) { diff --git a/src/app/core/_datasources/tasks-supertasks.datasource.ts b/src/app/core/_datasources/tasks-supertasks.datasource.ts index ddeec0dc5..95f31170e 100644 --- a/src/app/core/_datasources/tasks-supertasks.datasource.ts +++ b/src/app/core/_datasources/tasks-supertasks.datasource.ts @@ -11,8 +11,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; import { zChunkListResponse, zTaskListResponse } from '@generated/api/zod.gen'; -import { zJChunk } from '@models/schemas'; -import { z } from 'zod'; export class TasksSupertasksDataSource extends BaseDataSource { private _supertTaskId = 0; @@ -58,7 +56,7 @@ export class TasksSupertasksDataSource extends BaseDataSource { .getAll(SERV.CHUNKS, chunkParams.create()) .pipe(finalize(() => this.setData(subtasks))) .subscribe((chunkResponse: ResponseWrapper) => { - const chunks: JChunk[] = z.array(zJChunk).parse(this.serializer.deserialize(chunkResponse, zChunkListResponse)); + const chunks: JChunk[] = this.serializer.deserialize(chunkResponse, zChunkListResponse); subtasks.forEach((task) => { task.chunkData = this.convertChunks(task.id, chunks, false, task.keyspace); }); diff --git a/src/app/core/_models/json-api.types.ts b/src/app/core/_models/json-api.types.ts index 2ac42e739..e8fe6313f 100644 --- a/src/app/core/_models/json-api.types.ts +++ b/src/app/core/_models/json-api.types.ts @@ -62,12 +62,12 @@ type RequireKeys = [K] extends [never] * { id, type, attributes: { name } } → { id, type, name } */ type FlattenItem = D extends { attributes?: infer A } - ? Omit & NonNullable & JsonaRuntimeProps + ? Omit & Required> & JsonaRuntimeProps : D & JsonaRuntimeProps; /** Flatten data item + attach resolved relationship properties. */ type FlattenItemWithRels = D extends { attributes?: infer A } - ? Omit & NonNullable & RelationshipMap & JsonaRuntimeProps + ? Omit & Required> & RelationshipMap & JsonaRuntimeProps : D & JsonaRuntimeProps; // ── Main types ─────────────────────────────────────────────────── diff --git a/src/app/core/_models/schemas.ts b/src/app/core/_models/schemas.ts deleted file mode 100644 index cf227ad81..000000000 --- a/src/app/core/_models/schemas.ts +++ /dev/null @@ -1,89 +0,0 @@ -/** - * @TODO: temporary stricter validation as Zod inference has some problems if strict mode is turned off - * Remove this when the strict mode has been turned on. - */ - -import { z } from 'zod'; - -export const zJAgent = z.object({ - id: z.number(), - type: z.literal('agent'), - agentName: z.string(), - uid: z.string(), - os: z.number(), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.number().optional(), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.number().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string(), -}).passthrough(); - -export const zJChunk = z.object({ - id: z.number(), - type: z.literal('chunk'), - taskId: z.number(), - skip: z.number(), - length: z.number(), - agentId: z.number(), - dispatchTime: z.number(), - solveTime: z.number(), - checkpoint: z.number(), - progress: z.number(), - state: z.number(), - cracked: z.number(), - speed: z.number(), -}).passthrough(); - -export const zJFile = z.object({ - id: z.number(), - type: z.literal('file'), - filename: z.string(), - size: z.number(), - isSecret: z.boolean(), - fileType: z.number(), - accessGroupId: z.number(), - lineCount: z.number(), -}).passthrough(); - -export const zJHealthCheck = z.object({ - id: z.number(), - type: z.literal('healthCheck'), - attackCmd: z.string(), - checkType: z.number(), - crackerBinaryId: z.number(), - expectedCracks: z.number(), - hashtypeId: z.number(), - status: z.number(), - time: z.number(), -}).passthrough(); - -export const zJHealthCheckAgent = z.object({ - id: z.number(), - type: z.literal('healthCheckAgent'), - healthCheckId: z.number(), - agentId: z.number(), - status: z.number(), - cracked: z.number(), - numGpus: z.number(), - start: z.number(), - end: z.number(), - errors: z.string(), -}).passthrough(); - -export const zJNotification = z.object({ - id: z.number(), - type: z.literal('notificationSetting'), - action: z.string(), - isActive: z.boolean(), - notification: z.string(), - receiver: z.string(), - userId: z.number(), - objectId: z.number().optional(), -}).passthrough(); diff --git a/src/app/hashlists/hashes/hashes.component.ts b/src/app/hashlists/hashes/hashes.component.ts index a80ee978c..f0642f6b9 100644 --- a/src/app/hashlists/hashes/hashes.component.ts +++ b/src/app/hashlists/hashes/hashes.component.ts @@ -15,7 +15,6 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { displays, filters } from '@src/app/core/_constants/hashes.config'; import { zChunkResponse, zHashlistResponse, zTaskResponse } from '@generated/api/zod.gen'; -import { zJChunk } from '@models/schemas'; /** * The `HashesComponent` is for managing and displaying a list of hashes @@ -139,7 +138,7 @@ export class HashesComponent implements OnInit, OnDestroy { case 'chunkshash': this.whichView = 'chunks'; this.gs.get(SERV.CHUNKS, this.editedIndex).subscribe((response: ResponseWrapper) => { - const chunk: JChunk = zJChunk.parse(new JsonAPISerializer().deserialize(response, zChunkResponse)); + const chunk: JChunk = new JsonAPISerializer().deserialize(response, zChunkResponse); this.titleName = String(chunk.id); }); break; diff --git a/src/app/shared/graphs/task-visual/task-visual.component.ts b/src/app/shared/graphs/task-visual/task-visual.component.ts index 518aab771..cbb3530de 100644 --- a/src/app/shared/graphs/task-visual/task-visual.component.ts +++ b/src/app/shared/graphs/task-visual/task-visual.component.ts @@ -11,8 +11,6 @@ import { SERV } from '@services/main.config'; import { GlobalService } from '@services/main.service'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { zChunkListResponse, zTaskListResponse, zTaskWrapperListResponse } from '@generated/api/zod.gen'; -import { zJChunk } from '@models/schemas'; -import { z } from 'zod'; @Component({ selector: 'task-visual', @@ -82,7 +80,7 @@ export class TaskVisualComponent implements AfterViewInit { if (taskWrappers[0].taskType === TaskType.SUPERTASK && this.view === 'supertask') { for (let i = 0; i < taskWrappers.length; i++) { this.gs.getAll(SERV.CHUNKS, paramsTasks).subscribe((response: ResponseWrapper) => { - const chunks: JChunk[] = z.array(zJChunk).parse(new JsonAPISerializer().deserialize(response, zChunkListResponse)); + const chunks: JChunk[] = new JsonAPISerializer().deserialize(response, zChunkListResponse); const progress = []; let cracked = []; @@ -124,7 +122,7 @@ export class TaskVisualComponent implements AfterViewInit { } } else { this.gs.getAll(SERV.CHUNKS, paramsTasks).subscribe((response: ResponseWrapper) => { - const ch: JChunk[] = z.array(zJChunk).parse(new JsonAPISerializer().deserialize(response, zChunkListResponse)); // Get chunks by id + const ch: JChunk[] = new JsonAPISerializer().deserialize(response, zChunkListResponse); // Get chunks by id // Getting variables const keyspace = Number(this.tkeyspace); // Get Keyspace Progress diff --git a/src/app/tasks/edit-tasks/edit-tasks.component.ts b/src/app/tasks/edit-tasks/edit-tasks.component.ts index 789b5d2ae..74a3420d2 100644 --- a/src/app/tasks/edit-tasks/edit-tasks.component.ts +++ b/src/app/tasks/edit-tasks/edit-tasks.component.ts @@ -36,8 +36,6 @@ import { attackCommandWithAliasValidator } from '@src/app/core/_validators/attac import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; import { zAgentAssignmentListResponse, zAgentListResponse, zHashTypeResponse, zSpeedListResponse, zTaskResponse } from '@generated/api/zod.gen'; -import { zJAgent } from '@models/schemas'; -import { z } from 'zod'; @Component({ selector: 'app-edit-tasks', @@ -354,7 +352,7 @@ export class EditTasksComponent implements OnInit, OnDestroy { } this.gs.getAll(SERV.AGENTS, params.create()).subscribe((responseAgents: ResponseWrapper) => { - const agents: JAgent[] = z.array(zJAgent).parse(this.serializer.deserialize(responseAgents, zAgentListResponse)); + const agents: JAgent[] = this.serializer.deserialize(responseAgents, zAgentListResponse); this.availAgents = agents; this.selectAgents = transformSelectOptions(this.availAgents, AGENT_MAPPING); this.isLoadingAgents = false; diff --git a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts index 656780183..0d1699488 100644 --- a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts +++ b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts @@ -23,7 +23,6 @@ import { benchmarkType } from '@src/app/core/_constants/tasks.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; import { zCrackerBinaryTypeListResponse, zFileResponse, zPreTaskResponse } from '@generated/api/zod.gen'; -import { zJFile } from '@models/schemas'; @Component({ selector: 'app-wrbulk', @@ -152,7 +151,7 @@ export class WrbulkComponent implements OnInit, OnDestroy { const fileName: string = await new Promise((resolve, reject) => { const fileSubscription$ = this.gs.get(SERV.FILES, iter).subscribe({ next: (response: ResponseWrapper) => { - const file: JFile = zJFile.parse(new JsonAPISerializer().deserialize(response, zFileResponse)); + const file: JFile = new JsonAPISerializer().deserialize(response, zFileResponse); resolve(file.filename); }, error: reject diff --git a/src/app/users/edit-groups/edit-groups.component.ts b/src/app/users/edit-groups/edit-groups.component.ts index afc9f4399..962e11560 100644 --- a/src/app/users/edit-groups/edit-groups.component.ts +++ b/src/app/users/edit-groups/edit-groups.component.ts @@ -32,8 +32,6 @@ import { getAddUsersForm } from '@src/app/users/edit-groups/edit-groups.form'; import { zAccessGroupResponse, zAgentListResponse, zUserListResponse } from '@generated/api/zod.gen'; -import { zJAgent } from '@models/schemas'; -import { z } from 'zod'; @Component({ selector: 'app-edit-groups', @@ -179,7 +177,7 @@ export class EditGroupsComponent implements OnInit, OnDestroy { } const requestParams = requestParamBuilder.create(); const response: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.AGENTS, requestParams)); - const agents: JAgent[] = z.array(zJAgent).parse(new JsonAPISerializer().deserialize(response, zAgentListResponse)); + const agents: JAgent[] = new JsonAPISerializer().deserialize(response, zAgentListResponse); this.selectAgents = transformSelectOptions(agents, AGENT_MAPPING); } } catch (error) { From 7c64a6e702082085c3a7f3cabe2d138627d09a0d Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Tue, 24 Mar 2026 17:21:17 +0100 Subject: [PATCH 10/14] Remove remaining type assertions --- ...ess-permission-groups-expand.datasource.ts | 2 +- .../core/_datasources/cracks.datasource.ts | 4 +- src/app/core/_datasources/logs.datasource.ts | 3 +- .../supertasks-pretasks.datasource.ts | 3 +- src/app/core/_models/json-api.types.ts | 49 +++++++++---------- 5 files changed, 28 insertions(+), 33 deletions(-) diff --git a/src/app/core/_datasources/access-permission-groups-expand.datasource.ts b/src/app/core/_datasources/access-permission-groups-expand.datasource.ts index d6b7fd364..d2f2a6a06 100644 --- a/src/app/core/_datasources/access-permission-groups-expand.datasource.ts +++ b/src/app/core/_datasources/access-permission-groups-expand.datasource.ts @@ -41,7 +41,7 @@ export class AccessPermissionGroupsExpandDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zGlobalPermissionGroupResponse) as JGlobalPermissionGroup; + const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zGlobalPermissionGroupResponse, { include: ['userMembers'] as const }); let data: (UserPermissions | JUser)[]; if (this._perm) { data = this.processPermissions(globalPermissionGroup); diff --git a/src/app/core/_datasources/cracks.datasource.ts b/src/app/core/_datasources/cracks.datasource.ts index e80af62ff..35706ac3a 100644 --- a/src/app/core/_datasources/cracks.datasource.ts +++ b/src/app/core/_datasources/cracks.datasource.ts @@ -35,7 +35,7 @@ export class CracksDataSource extends BaseDataSource { * Load cracked hashes from server * @return Promise of cracked hashes */ - async loadCrackedHashes(query?: Filter) { + async loadCrackedHashes(query?: Filter): Promise { if (query) { this._currentFilter = query; } @@ -65,7 +65,7 @@ export class CracksDataSource extends BaseDataSource { const before = prevLink ? new URL(response.links.prev).searchParams.get('page[before]') : null; this.setPaginationConfig(this.pageSize, length, after, before, this.index); - return this.serializer.deserialize(response, zHashListResponse) as JHash[]; + return this.serializer.deserialize(response, zHashListResponse, { include: ['chunk'] as const }); } catch { return []; } diff --git a/src/app/core/_datasources/logs.datasource.ts b/src/app/core/_datasources/logs.datasource.ts index 1c472e785..dcd8b2965 100644 --- a/src/app/core/_datasources/logs.datasource.ts +++ b/src/app/core/_datasources/logs.datasource.ts @@ -46,8 +46,7 @@ export class LogsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - // @TODO: Type Assertion, remove if possible - const logs: JLog[] = this.serializer.deserialize(response, zLogEntryListResponse) as JLog[]; + const logs: JLog[] = this.serializer.deserialize(response, zLogEntryListResponse); /* this causes an infinite loop when searching im not sure what is the purpose of it since no other load all has it */ diff --git a/src/app/core/_datasources/supertasks-pretasks.datasource.ts b/src/app/core/_datasources/supertasks-pretasks.datasource.ts index 5b027b5f2..3e4350716 100644 --- a/src/app/core/_datasources/supertasks-pretasks.datasource.ts +++ b/src/app/core/_datasources/supertasks-pretasks.datasource.ts @@ -30,8 +30,7 @@ export class SuperTasksPretasksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - // @TODO: Type Assertion, remove if possible - const superTask = this.serializer.deserialize(response, zSupertaskResponse) as JSuperTask; + const superTask: JSuperTask = this.serializer.deserialize(response, zSupertaskResponse, { include: ['pretasks'] as const }); const pretasks = superTask.pretasks; this.setData(pretasks); }) diff --git a/src/app/core/_models/json-api.types.ts b/src/app/core/_models/json-api.types.ts index e8fe6313f..56b65c1fb 100644 --- a/src/app/core/_models/json-api.types.ts +++ b/src/app/core/_models/json-api.types.ts @@ -25,9 +25,7 @@ type JsonaRuntimeProps = { // ── Relationship resolution types ──────────────────────────────── /** Extract the typed relationships object from a JSON:API envelope. */ -type ExtractRelationships = T extends { relationships?: infer R } - ? NonNullable - : {}; +type ExtractRelationships = T extends { relationships?: infer R } ? NonNullable : {}; /** Extract the union of included resource types from a JSON:API envelope. */ type ExtractIncludedUnion = T extends { included?: (infer I)[] } ? I : never; @@ -49,9 +47,7 @@ type RelationshipMap = { }; /** Make specified keys required (no-op when K is never). */ -type RequireKeys = [K] extends [never] - ? T - : Omit & Required>; +type RequireKeys = [K] extends [never] ? T : Omit & Required>; // ── Flatten types ──────────────────────────────────────────────── @@ -67,23 +63,25 @@ type FlattenItem = D extends { attributes?: infer A } /** Flatten data item + attach resolved relationship properties. */ type FlattenItemWithRels = D extends { attributes?: infer A } - ? Omit & Required> & RelationshipMap & JsonaRuntimeProps + ? Omit & + Required> & + RelationshipMap & + JsonaRuntimeProps : D & JsonaRuntimeProps; // ── Main types ─────────────────────────────────────────────────── -type JsonApiPayloadInner = - [IncKeys] extends [never] - ? T extends { data: (infer D)[] } - ? FlattenItem[] - : T extends { data: infer D } - ? FlattenItem - : T - : T extends { data: (infer D)[] } - ? RequireKeys, ExtractIncludedUnion>, IncKeys>[] - : T extends { data: infer D } - ? RequireKeys, ExtractIncludedUnion>, IncKeys> - : T; +type JsonApiPayloadInner = [IncKeys] extends [never] + ? T extends { data: (infer D)[] } + ? FlattenItem[] + : T extends { data: infer D } + ? FlattenItem + : T + : T extends { data: (infer D)[] } + ? RequireKeys, ExtractIncludedUnion>, IncKeys>[] + : T extends { data: infer D } + ? RequireKeys, ExtractIncludedUnion>, IncKeys> + : T; /** * Transform a JSON:API envelope type into the flat model type @@ -95,19 +93,18 @@ type JsonApiPayloadInner = * Pass IncKeys to make specific relationship properties required * (reflecting that those relationships were requested via `include`). */ -export type JsonApiPayload = - JsonApiPayloadInner, IncKeys>; +export type JsonApiPayload = JsonApiPayloadInner, IncKeys>; /** * Shorthand: extract JsonApiPayload directly from a Zod envelope schema. */ -export type JsonApiPayloadOf = - JsonApiPayload, IncKeys>; +export type JsonApiPayloadOf = JsonApiPayload< + z.infer, + IncKeys +>; /** Valid relationship key names from an envelope type. */ export type RelationshipKeysOf = keyof ExtractRelationships & string; /** Valid relationship key names from a Zod envelope schema. */ -export type RelationshipKeysOfSchema = - RelationshipKeysOf>; - +export type RelationshipKeysOfSchema = RelationshipKeysOf>; From eab1ca4c9aa7586d1cc9dc07996dd007130a5413 Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Tue, 24 Mar 2026 17:35:33 +0100 Subject: [PATCH 11/14] Run prettier and linter --- eslint.config.mjs | 2 +- .../acc-settings/acc-settings.component.ts | 2 +- .../agents/edit-agent/edit-agent.component.ts | 6 +- .../agents/new-agent/new-agent.component.ts | 3 +- .../new_edit-preprocessor.component.ts | 2 +- .../new-health-checks.component.ts | 9 +- .../view-health-checks.component.ts | 3 +- .../new-superhashlist.component.ts | 4 +- .../new-supertasks.component.ts | 3 +- .../simple-forms/formconfig.component.ts | 3 +- .../access-groups-expand.datasource.ts | 3 +- .../_datasources/access-groups.datasource.ts | 3 +- ...ess-permission-groups-expand.datasource.ts | 9 +- .../_datasources/agent-binaries.datasource.ts | 3 +- .../_datasources/agent-error.datasource.ts | 3 +- .../core/_datasources/agents.datasource.ts | 3 +- .../core/_datasources/chunks.datasource.ts | 3 +- .../core/_datasources/crackers.datasource.ts | 7 +- .../core/_datasources/cracks.datasource.ts | 4 +- src/app/core/_datasources/files.datasource.ts | 3 +- .../core/_datasources/hashes.datasource.ts | 3 +- .../core/_datasources/hashlists.datasource.ts | 3 +- .../core/_datasources/hashtypes.datasource.ts | 3 +- .../health-check-agents.datasource.ts | 8 +- .../_datasources/health-checks.datasource.ts | 3 +- src/app/core/_datasources/logs.datasource.ts | 3 +- .../_datasources/notifications.datasource.ts | 8 +- .../_datasources/permissions.datasource.ts | 8 +- .../preconfigured-tasks.datasource.ts | 3 +- .../_datasources/preprocessors.datasource.ts | 3 +- .../_datasources/search-hash.datasource.ts | 3 +- .../super-hashlists.datasource.ts | 3 +- .../supertasks-pretasks.datasource.ts | 7 +- .../_datasources/supertasks.datasource.ts | 3 +- .../_datasources/tasks-chunks.datasource.ts | 3 +- .../tasks-supertasks.datasource.ts | 3 +- src/app/core/_datasources/tasks.datasource.ts | 3 +- src/app/core/_datasources/users.datasource.ts | 3 +- .../core/_datasources/vouchers.datasource.ts | 3 +- src/app/core/_models/agent.model.ts | 7 +- src/app/core/_models/cracker-binary.model.ts | 4 +- src/app/core/_models/health-check.model.ts | 2 +- src/app/core/_models/json-api.types.ts | 5 +- .../_services/api/serializer-service.spec.ts | 5 +- .../permission/permission.service.ts | 8 +- .../core/_services/shared/storage.service.ts | 3 +- .../files/new-files/new-files.component.ts | 2 +- .../edit-hashlist/edit-hashlist.component.ts | 2 +- src/app/hashlists/hashes/hashes.component.ts | 3 +- .../import-cracked-hashes.component.ts | 2 +- .../new-hashlist/new-hashlist.component.ts | 2 +- src/app/home/home.component.ts | 2 +- .../task-visual/task-visual.component.ts | 2 +- .../datasources/hashlists.datasource.ts | 2 +- .../edit-preconfigured-tasks.component.ts | 3 +- .../edit-supertasks.component.ts | 4 +- .../tasks/edit-tasks/edit-tasks.component.ts | 18 +- .../masks/masks.component.ts | 7 +- .../wrbulk/wrbulk.component.ts | 7 +- .../new-preconfigured-tasks.component.ts | 8 +- .../tasks/new-tasks/new-tasks.component.ts | 19 +- .../supertasks/applyhashlist.component.ts | 12 +- .../edit-groups/edit-groups.component.spec.ts | 5 +- .../edit-groups/edit-groups.component.ts | 2 +- .../users/edit-users/edit-users.component.ts | 9 +- .../edit-globalpermissionsgroups.component.ts | 4 +- src/app/users/new-user/new-user.component.ts | 7 +- src/generated/api/index.ts | 1690 +- src/generated/api/types.gen.ts | 26255 ++++++++-------- src/generated/api/zod.gen.ts | 17047 +++++----- 70 files changed, 24532 insertions(+), 20770 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 170636658..29e3c0f37 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -15,7 +15,7 @@ const compat = new FlatCompat({ }); export default defineConfig([ - globalIgnores(['projects/**/*']), + globalIgnores(['projects/**/*', 'src/generated/**/*']), { files: ['**/*.ts'], diff --git a/src/app/account/settings/acc-settings/acc-settings.component.ts b/src/app/account/settings/acc-settings/acc-settings.component.ts index 399915b89..bce7c0812 100644 --- a/src/app/account/settings/acc-settings/acc-settings.component.ts +++ b/src/app/account/settings/acc-settings/acc-settings.component.ts @@ -15,8 +15,8 @@ import { SERV } from '@services/main.config'; import { changeOwnPasswordResponseSchema } from '@src/app/account/settings/acc-settings/acc-settings.schema'; import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; -import { zUserResponse } from '@src/generated/api/zod.gen'; import { passwordMatchValidator } from '@src/app/core/_validators/password.validator'; +import { zUserResponse } from '@src/generated/api/zod.gen'; export interface UpdateUserPassword { oldPassword: string; diff --git a/src/app/agents/edit-agent/edit-agent.component.ts b/src/app/agents/edit-agent/edit-agent.component.ts index 62b3a5e85..6c9b1f5dc 100644 --- a/src/app/agents/edit-agent/edit-agent.component.ts +++ b/src/app/agents/edit-agent/edit-agent.component.ts @@ -1,5 +1,6 @@ import { IconDefinition } from '@fortawesome/fontawesome-svg-core'; import { faApple, faLinux, faWindows } from '@fortawesome/free-brands-svg-icons'; +import { zAgentResponse, zChunkListResponse, zTaskListResponse, zUserListResponse } from '@generated/api/zod.gen'; import { firstValueFrom } from 'rxjs'; import { HttpErrorResponse } from '@angular/common/http'; @@ -10,10 +11,9 @@ import { ActivatedRoute, Router } from '@angular/router'; import { JAgentAssignment } from '@models/agent-assignment.model'; import { JAgent } from '@models/agent.model'; import { JChunk } from '@models/chunk.model'; -import { JTask } from '@models/task.model'; -import { JUser } from '@models/user.model'; import { FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; +import { JTask } from '@models/task.model'; import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; @@ -25,8 +25,6 @@ import { AutoTitleService } from '@services/shared/autotitle.service'; import { UIConfigService } from '@services/shared/storage.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; -import { zAgentResponse, zChunkListResponse, zTaskListResponse, zUserListResponse } from '@generated/api/zod.gen'; - import { EditAgentForm, UpdateAssignmentForm, diff --git a/src/app/agents/new-agent/new-agent.component.ts b/src/app/agents/new-agent/new-agent.component.ts index a65224a36..f4d70b322 100644 --- a/src/app/agents/new-agent/new-agent.component.ts +++ b/src/app/agents/new-agent/new-agent.component.ts @@ -1,3 +1,4 @@ +import { zConfigListResponse } from '@generated/api/zod.gen'; import { Subscription } from 'rxjs'; import { VouchersTableComponent } from 'src/app/core/_components/tables/vouchers-table/vouchers-table.component'; import { GlobalService } from 'src/app/core/_services/main.service'; @@ -20,8 +21,6 @@ import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-servic import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; import { environment } from '@src/environments/environment'; -import { zConfigListResponse } from '@generated/api/zod.gen'; - @Component({ selector: 'app-new-agent', templateUrl: './new-agent.component.html', diff --git a/src/app/config/engine/preprocessors/new_edit-preprocessor/new_edit-preprocessor.component.ts b/src/app/config/engine/preprocessors/new_edit-preprocessor/new_edit-preprocessor.component.ts index d3f68e449..57fafebb5 100644 --- a/src/app/config/engine/preprocessors/new_edit-preprocessor/new_edit-preprocessor.component.ts +++ b/src/app/config/engine/preprocessors/new_edit-preprocessor/new_edit-preprocessor.component.ts @@ -1,3 +1,4 @@ +import { zPreprocessorResponse } from '@generated/api/zod.gen'; import { Subscription, firstValueFrom } from 'rxjs'; import { HttpBackend, HttpClient, HttpErrorResponse } from '@angular/common/http'; @@ -22,7 +23,6 @@ import { ButtonsModule } from '@src/app/shared/buttons/buttons.module'; import { GridModule } from '@src/app/shared/grid-containers/grid.module'; import { InputModule } from '@src/app/shared/input/input.module'; import { PageTitleModule } from '@src/app/shared/page-headers/page-title.module'; -import { zPreprocessorResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-new-preprocessor', diff --git a/src/app/config/health-checks/new-health-check/new-health-checks.component.ts b/src/app/config/health-checks/new-health-check/new-health-checks.component.ts index d8b51a136..4a973694f 100644 --- a/src/app/config/health-checks/new-health-check/new-health-checks.component.ts +++ b/src/app/config/health-checks/new-health-check/new-health-checks.component.ts @@ -1,8 +1,10 @@ +import { zCrackerBinaryListResponse, zCrackerBinaryTypeListResponse } from '@generated/api/zod.gen'; + import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; -import { JCrackerBinaryType, JCrackerBinary, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; +import { JCrackerBinary, JCrackerBinaryType, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; @@ -16,7 +18,6 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { attack, hashtype } from '@src/app/core/_constants/healthchecks.config'; import { CRACKER_TYPE_FIELD_MAPPING, CRACKER_VERSION_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zCrackerBinaryListResponse, zCrackerBinaryTypeListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-new-health-checks', @@ -86,7 +87,9 @@ export class NewHealthChecksComponent implements OnInit, OnDestroy { */ loadData(): void { const loadSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse)); + const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse( + new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse) + ); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); }); this.unsubscribeService.add(loadSubscription$); diff --git a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts index 9484594ff..69d91067d 100644 --- a/src/app/config/health-checks/view-health-check/view-health-checks.component.ts +++ b/src/app/config/health-checks/view-health-check/view-health-checks.component.ts @@ -1,3 +1,5 @@ +import { zHealthCheckResponse } from '@generated/api/zod.gen'; + import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; @@ -14,7 +16,6 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { UISettingsUtilityClass } from '@src/app/shared/utils/config'; import { formatUnixTimestamp } from '@src/app/shared/utils/datetime'; -import { zHealthCheckResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-view-health-checks', diff --git a/src/app/core/_components/forms/custom-forms/superhashlist/new-superhashlist/new-superhashlist.component.ts b/src/app/core/_components/forms/custom-forms/superhashlist/new-superhashlist/new-superhashlist.component.ts index 13c7c10d6..1cc2e9b48 100644 --- a/src/app/core/_components/forms/custom-forms/superhashlist/new-superhashlist/new-superhashlist.component.ts +++ b/src/app/core/_components/forms/custom-forms/superhashlist/new-superhashlist/new-superhashlist.component.ts @@ -1,3 +1,5 @@ +import { zHashlistListResponse } from '@generated/api/zod.gen'; + import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; @@ -13,8 +15,6 @@ import { AlertService } from '@services/shared/alert.service'; import { AutoTitleService } from '@services/shared/autotitle.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; -import { zHashlistListResponse } from '@generated/api/zod.gen'; - /** * Represents the NewSuperhashlistComponent responsible for creating a new SuperHashlist. */ diff --git a/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts b/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts index e85d755e2..b36d88325 100644 --- a/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts +++ b/src/app/core/_components/forms/custom-forms/task/new-supertasks/new-supertasks.component.ts @@ -1,3 +1,5 @@ +import { zPreTaskListResponse } from '@generated/api/zod.gen'; + import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, OnInit, inject } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; @@ -14,7 +16,6 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { PRETASKS_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zPreTaskListResponse } from '@generated/api/zod.gen'; /** * Component class to create a new supertask diff --git a/src/app/core/_components/forms/simple-forms/formconfig.component.ts b/src/app/core/_components/forms/simple-forms/formconfig.component.ts index 00189f615..a46e449f6 100644 --- a/src/app/core/_components/forms/simple-forms/formconfig.component.ts +++ b/src/app/core/_components/forms/simple-forms/formconfig.component.ts @@ -1,3 +1,4 @@ +import { zConfigListResponse } from '@generated/api/zod.gen'; import { Subscription, forkJoin } from 'rxjs'; import { Component, OnDestroy, OnInit, inject } from '@angular/core'; @@ -18,8 +19,6 @@ import { AutoTitleService } from '@services/shared/autotitle.service'; import { UIConfigService } from '@services/shared/storage.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; -import { zConfigListResponse } from '@generated/api/zod.gen'; - type ConfigValues = Record; type ConfigIds = Record; diff --git a/src/app/core/_datasources/access-groups-expand.datasource.ts b/src/app/core/_datasources/access-groups-expand.datasource.ts index 97dac9b09..3badfc77d 100644 --- a/src/app/core/_datasources/access-groups-expand.datasource.ts +++ b/src/app/core/_datasources/access-groups-expand.datasource.ts @@ -1,3 +1,4 @@ +import { zAccessGroupResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { JAccessGroup } from '@models/access-group.model'; @@ -12,8 +13,6 @@ import { HTTableColumn } from '@components/tables/ht-table/ht-table.models'; import { BaseDataSource } from '@datasources/base.datasource'; -import { zAccessGroupResponse } from '@generated/api/zod.gen'; - export class AccessGroupsExpandDataSource extends BaseDataSource { private _accessgroupId = 0; private _include = ''; diff --git a/src/app/core/_datasources/access-groups.datasource.ts b/src/app/core/_datasources/access-groups.datasource.ts index fe7f5fde6..af5b0dddf 100644 --- a/src/app/core/_datasources/access-groups.datasource.ts +++ b/src/app/core/_datasources/access-groups.datasource.ts @@ -1,3 +1,4 @@ +import { zAccessGroupListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -12,8 +13,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zAccessGroupListResponse } from '@generated/api/zod.gen'; - export class AccessGroupsDataSource extends BaseDataSource { private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/access-permission-groups-expand.datasource.ts b/src/app/core/_datasources/access-permission-groups-expand.datasource.ts index d2f2a6a06..ef024a99b 100644 --- a/src/app/core/_datasources/access-permission-groups-expand.datasource.ts +++ b/src/app/core/_datasources/access-permission-groups-expand.datasource.ts @@ -1,3 +1,4 @@ +import { zGlobalPermissionGroupResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { JGlobalPermissionGroup, UserPermissions } from '@models/global-permission-group.model'; @@ -9,8 +10,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zGlobalPermissionGroupResponse } from '@generated/api/zod.gen'; - export class AccessPermissionGroupsExpandDataSource extends BaseDataSource { private _accesspermgroupId = 0; private _expand = ''; @@ -41,7 +40,11 @@ export class AccessPermissionGroupsExpandDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zGlobalPermissionGroupResponse, { include: ['userMembers'] as const }); + const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize( + response, + zGlobalPermissionGroupResponse, + { include: ['userMembers'] as const } + ); let data: (UserPermissions | JUser)[]; if (this._perm) { data = this.processPermissions(globalPermissionGroup); diff --git a/src/app/core/_datasources/agent-binaries.datasource.ts b/src/app/core/_datasources/agent-binaries.datasource.ts index 4efd687d0..1f8653d04 100644 --- a/src/app/core/_datasources/agent-binaries.datasource.ts +++ b/src/app/core/_datasources/agent-binaries.datasource.ts @@ -1,3 +1,4 @@ +import { zAgentBinaryListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -11,8 +12,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zAgentBinaryListResponse } from '@generated/api/zod.gen'; - export class AgentBinariesDataSource extends BaseDataSource { private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/agent-error.datasource.ts b/src/app/core/_datasources/agent-error.datasource.ts index 7afb42d7a..e8e797696 100644 --- a/src/app/core/_datasources/agent-error.datasource.ts +++ b/src/app/core/_datasources/agent-error.datasource.ts @@ -2,6 +2,7 @@ * Contains data source for agents resource * @module */ +import { zAgentErrorListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { JAgentErrors } from '@models/agent-errors.model'; @@ -13,8 +14,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zAgentErrorListResponse } from '@generated/api/zod.gen'; - export class AgentErrorDatasource extends BaseDataSource { private _agentId = 0; private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/agents.datasource.ts b/src/app/core/_datasources/agents.datasource.ts index d84cc3090..935592144 100644 --- a/src/app/core/_datasources/agents.datasource.ts +++ b/src/app/core/_datasources/agents.datasource.ts @@ -2,6 +2,7 @@ * Contains data source for agents resource * @module */ +import { zAgentAssignmentListResponse, zAgentListResponse, zUserListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, firstValueFrom, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -16,8 +17,6 @@ import { JUser } from '@models/user.model'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; -import { zAgentAssignmentListResponse, zAgentListResponse, zUserListResponse } from '@generated/api/zod.gen'; - import { BaseDataSource } from '@datasources/base.datasource'; export class AgentsDataSource extends BaseDataSource { diff --git a/src/app/core/_datasources/chunks.datasource.ts b/src/app/core/_datasources/chunks.datasource.ts index d37dd8dbe..a26dcb7b5 100644 --- a/src/app/core/_datasources/chunks.datasource.ts +++ b/src/app/core/_datasources/chunks.datasource.ts @@ -1,3 +1,4 @@ +import { zChunkListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, forkJoin, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -11,8 +12,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zChunkListResponse } from '@generated/api/zod.gen'; - export class ChunksDataSource extends BaseDataSource { private _agentId = 0; private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/crackers.datasource.ts b/src/app/core/_datasources/crackers.datasource.ts index 26fe80173..19e7959ce 100644 --- a/src/app/core/_datasources/crackers.datasource.ts +++ b/src/app/core/_datasources/crackers.datasource.ts @@ -1,3 +1,4 @@ +import { zCrackerBinaryTypeListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -12,8 +13,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zCrackerBinaryTypeListResponse } from '@generated/api/zod.gen'; - export class CrackersDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -42,7 +41,9 @@ export class CrackersDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const crackers: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(this.serializer.deserialize(response, zCrackerBinaryTypeListResponse)); + const crackers: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse( + this.serializer.deserialize(response, zCrackerBinaryTypeListResponse) + ); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/cracks.datasource.ts b/src/app/core/_datasources/cracks.datasource.ts index 35706ac3a..268abefb5 100644 --- a/src/app/core/_datasources/cracks.datasource.ts +++ b/src/app/core/_datasources/cracks.datasource.ts @@ -1,17 +1,15 @@ +import { zHashListResponse, zTaskResponse } from '@generated/api/zod.gen'; import { catchError, firstValueFrom } from 'rxjs'; import { JHash } from '@models/hash.model'; import { Filter, FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; -import { JTask } from '@models/task.model'; import { SERV } from '@services/main.config'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; import { BaseDataSource } from '@datasources/base.datasource'; -import { zHashListResponse, zTaskResponse } from '@generated/api/zod.gen'; - export class CracksDataSource extends BaseDataSource { public length = 0; private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/files.datasource.ts b/src/app/core/_datasources/files.datasource.ts index 4bac1c1c1..8b1e1a7b2 100644 --- a/src/app/core/_datasources/files.datasource.ts +++ b/src/app/core/_datasources/files.datasource.ts @@ -3,6 +3,7 @@ * @module */ +import { zFileListResponse, zPreTaskResponse, zTaskResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -18,8 +19,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zFileListResponse, zPreTaskResponse, zTaskResponse } from '@generated/api/zod.gen'; - /** * Data source class definition for files */ diff --git a/src/app/core/_datasources/hashes.datasource.ts b/src/app/core/_datasources/hashes.datasource.ts index dadef586f..c977e5acc 100644 --- a/src/app/core/_datasources/hashes.datasource.ts +++ b/src/app/core/_datasources/hashes.datasource.ts @@ -1,3 +1,4 @@ +import { zHashListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { JHash } from '@models/hash.model'; @@ -9,8 +10,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zHashListResponse } from '@generated/api/zod.gen'; - export class HashesDataSource extends BaseDataSource { private _id = 0; private _dataType: string; diff --git a/src/app/core/_datasources/hashlists.datasource.ts b/src/app/core/_datasources/hashlists.datasource.ts index 525a4ea82..43c50a2fd 100644 --- a/src/app/core/_datasources/hashlists.datasource.ts +++ b/src/app/core/_datasources/hashlists.datasource.ts @@ -1,3 +1,4 @@ +import { zHashlistListResponse, zHashlistResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -13,8 +14,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { HashListFormat } from '@src/app/core/_constants/hashlist.config'; -import { zHashlistListResponse, zHashlistResponse } from '@generated/api/zod.gen'; - export class HashlistsDataSource extends BaseDataSource { private isArchived = false; private superHashListID = 0; diff --git a/src/app/core/_datasources/hashtypes.datasource.ts b/src/app/core/_datasources/hashtypes.datasource.ts index 8fc73f18e..e1d16758e 100644 --- a/src/app/core/_datasources/hashtypes.datasource.ts +++ b/src/app/core/_datasources/hashtypes.datasource.ts @@ -1,3 +1,4 @@ +import { zHashTypeListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -12,8 +13,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { Filter } from '@src/app/core/_models/request-params.model'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zHashTypeListResponse } from '@generated/api/zod.gen'; - export class HashtypesDataSource extends BaseDataSource { private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/health-check-agents.datasource.ts b/src/app/core/_datasources/health-check-agents.datasource.ts index 88c1714e2..d6fa15301 100644 --- a/src/app/core/_datasources/health-check-agents.datasource.ts +++ b/src/app/core/_datasources/health-check-agents.datasource.ts @@ -1,3 +1,4 @@ +import { zHealthCheckAgentListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { JHealthCheckAgent } from '@models/health-check.model'; @@ -9,8 +10,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zHealthCheckAgentListResponse } from '@generated/api/zod.gen'; - export class HealthCheckAgentsDataSource extends BaseDataSource { private _healthCheckId = 0; @@ -39,7 +38,10 @@ export class HealthCheckAgentsDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((healthCheckResponse: ResponseWrapper) => { - const healthChecksAgent: JHealthCheckAgent[] = this.serializer.deserialize(healthCheckResponse, zHealthCheckAgentListResponse); + const healthChecksAgent: JHealthCheckAgent[] = this.serializer.deserialize( + healthCheckResponse, + zHealthCheckAgentListResponse + ); const length = healthCheckResponse.meta.page.total_elements; const nextLink = healthCheckResponse.links.next; diff --git a/src/app/core/_datasources/health-checks.datasource.ts b/src/app/core/_datasources/health-checks.datasource.ts index ea461f35a..a03f42a08 100644 --- a/src/app/core/_datasources/health-checks.datasource.ts +++ b/src/app/core/_datasources/health-checks.datasource.ts @@ -1,3 +1,4 @@ +import { zHealthCheckListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, forkJoin, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -11,8 +12,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zHealthCheckListResponse } from '@generated/api/zod.gen'; - export class HealthChecksDataSource extends BaseDataSource { private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/logs.datasource.ts b/src/app/core/_datasources/logs.datasource.ts index dcd8b2965..6f71b13a6 100644 --- a/src/app/core/_datasources/logs.datasource.ts +++ b/src/app/core/_datasources/logs.datasource.ts @@ -1,3 +1,4 @@ +import { zLogEntryListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -12,8 +13,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zLogEntryListResponse } from '@generated/api/zod.gen'; - export class LogsDataSource extends BaseDataSource { private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/notifications.datasource.ts b/src/app/core/_datasources/notifications.datasource.ts index 49dfe98e3..40de1559e 100644 --- a/src/app/core/_datasources/notifications.datasource.ts +++ b/src/app/core/_datasources/notifications.datasource.ts @@ -1,3 +1,4 @@ +import { zNotificationSettingListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -11,8 +12,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zNotificationSettingListResponse } from '@generated/api/zod.gen'; - export class NotificationsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -42,7 +41,10 @@ export class NotificationsDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const notifications: JNotification[] = this.serializer.deserialize(response, zNotificationSettingListResponse); + const notifications: JNotification[] = this.serializer.deserialize( + response, + zNotificationSettingListResponse + ); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/permissions.datasource.ts b/src/app/core/_datasources/permissions.datasource.ts index d5239e8ba..b54210dce 100644 --- a/src/app/core/_datasources/permissions.datasource.ts +++ b/src/app/core/_datasources/permissions.datasource.ts @@ -1,3 +1,4 @@ +import { zGlobalPermissionGroupListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -12,8 +13,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zGlobalPermissionGroupListResponse } from '@generated/api/zod.gen'; - export class PermissionsDataSource extends BaseDataSource { private _currentFilter: Filter = null; @@ -43,7 +42,10 @@ export class PermissionsDataSource extends BaseDataSource (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const globalPermissionGroups: JGlobalPermissionGroup[] = this.serializer.deserialize(response, zGlobalPermissionGroupListResponse); + const globalPermissionGroups: JGlobalPermissionGroup[] = this.serializer.deserialize( + response, + zGlobalPermissionGroupListResponse + ); const length = response.meta.page.total_elements; const nextLink = response.links.next; diff --git a/src/app/core/_datasources/preconfigured-tasks.datasource.ts b/src/app/core/_datasources/preconfigured-tasks.datasource.ts index b6a7f71f5..d267906b0 100644 --- a/src/app/core/_datasources/preconfigured-tasks.datasource.ts +++ b/src/app/core/_datasources/preconfigured-tasks.datasource.ts @@ -1,4 +1,5 @@ // typescript +import { zPreTaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; import { catchError, firstValueFrom } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -14,8 +15,6 @@ import { IParamBuilder } from '@services/params/builder-types.service'; import { BaseDataSource } from '@datasources/base.datasource'; -import { zPreTaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; - export class PreTasksDataSource extends BaseDataSource { private _superTaskId = 0; private _reverseQuery = false; diff --git a/src/app/core/_datasources/preprocessors.datasource.ts b/src/app/core/_datasources/preprocessors.datasource.ts index 48bce958d..3fa04a2b4 100644 --- a/src/app/core/_datasources/preprocessors.datasource.ts +++ b/src/app/core/_datasources/preprocessors.datasource.ts @@ -1,6 +1,7 @@ /** * This module contains the datasource definition for the preprocessors table component */ +import { zPreprocessorListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -14,8 +15,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zPreprocessorListResponse } from '@generated/api/zod.gen'; - export class PreprocessorsDataSource extends BaseDataSource { private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/search-hash.datasource.ts b/src/app/core/_datasources/search-hash.datasource.ts index ce006cc32..222416b0a 100644 --- a/src/app/core/_datasources/search-hash.datasource.ts +++ b/src/app/core/_datasources/search-hash.datasource.ts @@ -1,3 +1,4 @@ +import { zHashListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { JHash, SearchHashModel } from '@models/hash.model'; @@ -11,8 +12,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { formatUnixTimestamp } from '@src/app/shared/utils/datetime'; -import { zHashListResponse } from '@generated/api/zod.gen'; - export class SearchHashDataSource extends BaseDataSource { private search: string[]; private dateFormat: string; diff --git a/src/app/core/_datasources/super-hashlists.datasource.ts b/src/app/core/_datasources/super-hashlists.datasource.ts index 75bcf13e6..a406bb81f 100644 --- a/src/app/core/_datasources/super-hashlists.datasource.ts +++ b/src/app/core/_datasources/super-hashlists.datasource.ts @@ -1,4 +1,5 @@ import { HashListFormat } from '@constants/hashlist.config'; +import { zHashlistListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -13,8 +14,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zHashlistListResponse } from '@generated/api/zod.gen'; - export class SuperHashlistsDataSource extends BaseDataSource { private isArchived = false; private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/supertasks-pretasks.datasource.ts b/src/app/core/_datasources/supertasks-pretasks.datasource.ts index 3e4350716..229d3b46c 100644 --- a/src/app/core/_datasources/supertasks-pretasks.datasource.ts +++ b/src/app/core/_datasources/supertasks-pretasks.datasource.ts @@ -1,3 +1,4 @@ +import { zSupertaskResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { JPretask } from '@models/pretask.model'; @@ -9,8 +10,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zSupertaskResponse } from '@generated/api/zod.gen'; - export class SuperTasksPretasksDataSource extends BaseDataSource { private _supertTaskId = 0; @@ -30,7 +29,9 @@ export class SuperTasksPretasksDataSource extends BaseDataSource { finalize(() => (this.loading = false)) ) .subscribe((response: ResponseWrapper) => { - const superTask: JSuperTask = this.serializer.deserialize(response, zSupertaskResponse, { include: ['pretasks'] as const }); + const superTask: JSuperTask = this.serializer.deserialize(response, zSupertaskResponse, { + include: ['pretasks'] as const + }); const pretasks = superTask.pretasks; this.setData(pretasks); }) diff --git a/src/app/core/_datasources/supertasks.datasource.ts b/src/app/core/_datasources/supertasks.datasource.ts index 142732942..009e55ac9 100644 --- a/src/app/core/_datasources/supertasks.datasource.ts +++ b/src/app/core/_datasources/supertasks.datasource.ts @@ -1,3 +1,4 @@ +import { zSupertaskListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -12,8 +13,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zSupertaskListResponse } from '@generated/api/zod.gen'; - export class SuperTasksDataSource extends BaseDataSource { private _currentFilter: Filter = null; loadAll(query?: Filter): void { diff --git a/src/app/core/_datasources/tasks-chunks.datasource.ts b/src/app/core/_datasources/tasks-chunks.datasource.ts index b9b5071d7..fe646f28c 100644 --- a/src/app/core/_datasources/tasks-chunks.datasource.ts +++ b/src/app/core/_datasources/tasks-chunks.datasource.ts @@ -1,3 +1,4 @@ +import { zChunkListResponse, zTaskResponse } from '@generated/api/zod.gen'; import { catchError, finalize, firstValueFrom, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -12,8 +13,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zChunkListResponse, zTaskResponse } from '@generated/api/zod.gen'; - export class TasksChunksDataSource extends BaseDataSource { private _taskId = 0; private _isChunksLive = 0; diff --git a/src/app/core/_datasources/tasks-supertasks.datasource.ts b/src/app/core/_datasources/tasks-supertasks.datasource.ts index 95f31170e..1f99057cf 100644 --- a/src/app/core/_datasources/tasks-supertasks.datasource.ts +++ b/src/app/core/_datasources/tasks-supertasks.datasource.ts @@ -1,3 +1,4 @@ +import { zChunkListResponse, zTaskListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { JChunk } from '@models/chunk.model'; @@ -10,8 +11,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zChunkListResponse, zTaskListResponse } from '@generated/api/zod.gen'; - export class TasksSupertasksDataSource extends BaseDataSource { private _supertTaskId = 0; diff --git a/src/app/core/_datasources/tasks.datasource.ts b/src/app/core/_datasources/tasks.datasource.ts index 4cfe42cbf..774718624 100644 --- a/src/app/core/_datasources/tasks.datasource.ts +++ b/src/app/core/_datasources/tasks.datasource.ts @@ -1,3 +1,4 @@ +import { zTaskWrapperListResponse } from '@generated/api/zod.gen'; import { catchError, of } from 'rxjs'; import { finalize } from 'rxjs/operators'; @@ -10,8 +11,6 @@ import { RequestParamBuilder } from '@services/params/builder-implementation.ser import { BaseDataSource } from '@datasources/base.datasource'; -import { zTaskWrapperListResponse } from '@generated/api/zod.gen'; - export class TasksDataSource extends BaseDataSource { private _isArchived = false; private _hashlistID = 0; diff --git a/src/app/core/_datasources/users.datasource.ts b/src/app/core/_datasources/users.datasource.ts index 082ad32ac..7fe6ec16c 100644 --- a/src/app/core/_datasources/users.datasource.ts +++ b/src/app/core/_datasources/users.datasource.ts @@ -1,3 +1,4 @@ +import { zUserListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { HttpHeaders } from '@angular/common/http'; @@ -12,8 +13,6 @@ import { BaseDataSource } from '@datasources/base.datasource'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zUserListResponse } from '@generated/api/zod.gen'; - export class UsersDataSource extends BaseDataSource { private _currentFilter: Filter = null; diff --git a/src/app/core/_datasources/vouchers.datasource.ts b/src/app/core/_datasources/vouchers.datasource.ts index 39480e704..78c97ad26 100644 --- a/src/app/core/_datasources/vouchers.datasource.ts +++ b/src/app/core/_datasources/vouchers.datasource.ts @@ -1,3 +1,4 @@ +import { zVoucherListResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { Filter } from '@models/request-params.model'; @@ -8,8 +9,6 @@ import { JVoucher } from '@src/app/core/_models/voucher.model'; import { SERV } from '@src/app/core/_services/main.config'; import { RequestParamBuilder } from '@src/app/core/_services/params/builder-implementation.service'; -import { zVoucherListResponse } from '@generated/api/zod.gen'; - export class VouchersDataSource extends BaseDataSource { loadAll(query?: Filter): void { this.loading = true; diff --git a/src/app/core/_models/agent.model.ts b/src/app/core/_models/agent.model.ts index cc9a8c71b..5372d0449 100644 --- a/src/app/core/_models/agent.model.ts +++ b/src/app/core/_models/agent.model.ts @@ -1,10 +1,9 @@ -import { ChunkData, JChunk } from '@models/chunk.model'; - -import { BaseModel } from '@models/base.model'; import { JAccessGroup } from '@models/access-group.model'; import { JAgentAssignment } from '@models/agent-assignment.model'; -import { JAgentErrors } from './agent-errors.model'; +import { JAgentErrors } from '@models/agent-errors.model'; import { JAgentStat } from '@models/agent-stats.model'; +import { BaseModel } from '@models/base.model'; +import { ChunkData, JChunk } from '@models/chunk.model'; import { JTask } from '@models/task.model'; import { JUser } from '@models/user.model'; diff --git a/src/app/core/_models/cracker-binary.model.ts b/src/app/core/_models/cracker-binary.model.ts index 385dd6907..80047111c 100644 --- a/src/app/core/_models/cracker-binary.model.ts +++ b/src/app/core/_models/cracker-binary.model.ts @@ -37,7 +37,7 @@ export const zCrackerBinary = z.object({ binaryName: z.string(), crackerBinaryTypeId: z.number(), downloadUrl: z.string(), - version: z.string(), + version: z.string() }); export const zCrackerBinaryType = z.object({ @@ -45,7 +45,7 @@ export const zCrackerBinaryType = z.object({ type: z.string(), typeName: z.string(), isChunkingAvailable: z.boolean(), - crackerVersions: z.array(zCrackerBinary), + crackerVersions: z.array(zCrackerBinary) }); export const zCrackerBinaryTypeList = z.array(zCrackerBinaryType); diff --git a/src/app/core/_models/health-check.model.ts b/src/app/core/_models/health-check.model.ts index 75604d777..2d783f437 100644 --- a/src/app/core/_models/health-check.model.ts +++ b/src/app/core/_models/health-check.model.ts @@ -8,7 +8,7 @@ import { JHashtype } from '@models/hashtype.model'; * - `BRUTE_FORCE` Health check using brute-force attack * @enum */ - // @TODO: Check this +// @TODO: Check this export enum HealthCheckType { MD5 = 0, BCRYPT = 3200 diff --git a/src/app/core/_models/json-api.types.ts b/src/app/core/_models/json-api.types.ts index 56b65c1fb..487ac6ea1 100644 --- a/src/app/core/_models/json-api.types.ts +++ b/src/app/core/_models/json-api.types.ts @@ -1,5 +1,5 @@ -import { z } from 'zod'; import { TJsonApiLinks } from 'jsona/lib/JsonaTypes'; +import { z } from 'zod'; // ── Helpers ────────────────────────────────────────────────────── @@ -25,7 +25,7 @@ type JsonaRuntimeProps = { // ── Relationship resolution types ──────────────────────────────── /** Extract the typed relationships object from a JSON:API envelope. */ -type ExtractRelationships = T extends { relationships?: infer R } ? NonNullable : {}; +type ExtractRelationships = T extends { relationships?: infer R } ? NonNullable : Record; /** Extract the union of included resource types from a JSON:API envelope. */ type ExtractIncludedUnion = T extends { included?: (infer I)[] } ? I : never; @@ -37,6 +37,7 @@ type ExtractIncludedUnion = T extends { included?: (infer I)[] } ? I : never; * To-one (single data) → FlattenItem | null */ type ResolveRel = + // eslint-disable-next-line @typescript-eslint/no-explicit-any NonNullable extends readonly any[] ? FlattenItem>[] : FlattenItem> | null; diff --git a/src/app/core/_services/api/serializer-service.spec.ts b/src/app/core/_services/api/serializer-service.spec.ts index b0995a9e9..b91321b87 100644 --- a/src/app/core/_services/api/serializer-service.spec.ts +++ b/src/app/core/_services/api/serializer-service.spec.ts @@ -1,5 +1,6 @@ -import { JsonAPISerializer } from './serializer-service'; -import { zUserResponse, zUserListResponse, zAccessGroupListResponse } from '@generated/api/zod.gen'; +import { zAccessGroupListResponse, zUserListResponse, zUserResponse } from '@generated/api/zod.gen'; + +import { JsonAPISerializer } from '@services/api/serializer-service'; describe('JsonAPISerializer', () => { let serializer: JsonAPISerializer; diff --git a/src/app/core/_services/permission/permission.service.ts b/src/app/core/_services/permission/permission.service.ts index 4b18c50d6..e1b39989a 100644 --- a/src/app/core/_services/permission/permission.service.ts +++ b/src/app/core/_services/permission/permission.service.ts @@ -1,3 +1,4 @@ +import { zGlobalPermissionGroupResponse } from '@generated/api/zod.gen'; import { BehaviorSubject, Observable, forkJoin, map, take } from 'rxjs'; import { Injectable } from '@angular/core'; @@ -10,8 +11,6 @@ import { SERV } from '@services/main.config'; import { GlobalService } from '@services/main.service'; import { LocalStorageService } from '@services/storage/local-storage.service'; -import { zGlobalPermissionGroupResponse } from '@generated/api/zod.gen'; - import { PermissionValues } from '@src/app/core/_constants/userpermissions.config'; /** @@ -46,7 +45,10 @@ export class PermissionService { return this.gs.ghelper(SERV.HELPER, 'getUserPermission').pipe( take(1), map((response: ResponseWrapper) => { - const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize(response, zGlobalPermissionGroupResponse); + const globalPermissionGroup: JGlobalPermissionGroup = this.serializer.deserialize( + response, + zGlobalPermissionGroupResponse + ); const permissions = globalPermissionGroup.permissions; this.currentPermissions = permissions; diff --git a/src/app/core/_services/shared/storage.service.ts b/src/app/core/_services/shared/storage.service.ts index fe39b8039..c92101722 100644 --- a/src/app/core/_services/shared/storage.service.ts +++ b/src/app/core/_services/shared/storage.service.ts @@ -1,3 +1,5 @@ +import { zConfigListResponse } from '@generated/api/zod.gen'; + import { Injectable } from '@angular/core'; import { UiSettings, UisCacheName, uisCacheNames, uisSettingsSchema } from '@models/config-ui.schema'; @@ -9,7 +11,6 @@ import { SERV } from '@services/main.config'; import { GlobalService } from '@services/main.service'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; -import { zConfigListResponse } from '@generated/api/zod.gen'; import { environment } from '@src/environments/environment'; @Injectable({ diff --git a/src/app/files/new-files/new-files.component.ts b/src/app/files/new-files/new-files.component.ts index d3882ffa9..cffb0a9cb 100644 --- a/src/app/files/new-files/new-files.component.ts +++ b/src/app/files/new-files/new-files.component.ts @@ -1,3 +1,4 @@ +import { zAccessGroupListResponse } from '@generated/api/zod.gen'; import { Subject, firstValueFrom, takeUntil } from 'rxjs'; import { ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angular/core'; @@ -23,7 +24,6 @@ import { NewFilesForm, PreparedFormData, getNewFilesForm } from '@src/app/files/ import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; import { formatFileSize } from '@src/app/shared/utils/util'; import { WordlistGeneratorComponent } from '@src/app/shared/wordlist-generator/wordlist-generator.component'; -import { zAccessGroupListResponse } from '@generated/api/zod.gen'; /** * Represents the NewFilesComponent responsible for creating and uploading files diff --git a/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts b/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts index 88bc10d3f..77244934c 100644 --- a/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts +++ b/src/app/hashlists/edit-hashlist/edit-hashlist.component.ts @@ -1,3 +1,4 @@ +import { zAccessGroupListResponse, zHashlistResponse } from '@generated/api/zod.gen'; import { firstValueFrom } from 'rxjs'; import { HttpBackend, HttpClient, HttpErrorResponse } from '@angular/common/http'; @@ -24,7 +25,6 @@ import { CanComponentDeactivate } from '@src/app/core/_guards/pendingchanges.gua import { StaticArrayPipe } from '@src/app/core/_pipes/static-array.pipe'; import { getEditHashlistForm } from '@src/app/hashlists/edit-hashlist/edit-hashlist.form'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zAccessGroupListResponse, zHashlistResponse } from '@generated/api/zod.gen'; /** * Represents the EditHashlistComponent responsible for editing a new hashlists. diff --git a/src/app/hashlists/hashes/hashes.component.ts b/src/app/hashlists/hashes/hashes.component.ts index f0642f6b9..6a19f8eb0 100644 --- a/src/app/hashlists/hashes/hashes.component.ts +++ b/src/app/hashlists/hashes/hashes.component.ts @@ -1,3 +1,5 @@ +import { zChunkResponse, zHashlistResponse, zTaskResponse } from '@generated/api/zod.gen'; + import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; import { ActivatedRoute, Params, Router } from '@angular/router'; @@ -14,7 +16,6 @@ import { AutoTitleService } from '@services/shared/autotitle.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; import { displays, filters } from '@src/app/core/_constants/hashes.config'; -import { zChunkResponse, zHashlistResponse, zTaskResponse } from '@generated/api/zod.gen'; /** * The `HashesComponent` is for managing and displaying a list of hashes diff --git a/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts b/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts index 87cf30a92..a2fe26ac9 100644 --- a/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts +++ b/src/app/hashlists/import-cracked-hashes/import-cracked-hashes.component.ts @@ -1,3 +1,4 @@ +import { zHashlistResponse } from '@generated/api/zod.gen'; import { Subject, firstValueFrom, takeUntil } from 'rxjs'; import { Component, OnInit, inject } from '@angular/core'; @@ -26,7 +27,6 @@ import { } from '@src/app/hashlists/import-cracked-hashes/import-cracked-hashes.form'; import { SelectOption } from '@src/app/shared/utils/forms'; import { handleEncode, removeFakePath } from '@src/app/shared/utils/forms'; -import { zHashlistResponse } from '@generated/api/zod.gen'; /** * Component for import pre cracked hashes diff --git a/src/app/hashlists/new-hashlist/new-hashlist.component.ts b/src/app/hashlists/new-hashlist/new-hashlist.component.ts index e628c6fd4..a5017a113 100644 --- a/src/app/hashlists/new-hashlist/new-hashlist.component.ts +++ b/src/app/hashlists/new-hashlist/new-hashlist.component.ts @@ -1,6 +1,7 @@ /** * This module contains the component class to create a new hashlist */ +import { zAccessGroupListResponse, zConfigResponse, zHashTypeListResponse } from '@generated/api/zod.gen'; import { Subject, Subscription, firstValueFrom, takeUntil } from 'rxjs'; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angular/core'; @@ -28,7 +29,6 @@ import { FileSizePipe } from '@src/app/core/_pipes/file-size.pipe'; import { NewHashlistForm, getNewHashlistForm } from '@src/app/hashlists/new-hashlist/new-hashlist.form'; import { HashtypeDetectorComponent } from '@src/app/shared/hashtype-detector/hashtype-detector.component'; import { SelectOption, handleEncode, removeFakePath, transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zAccessGroupListResponse, zConfigResponse, zHashTypeListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-new-hashlist', diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index cee4a17cd..0fe423fe6 100644 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -1,3 +1,4 @@ +import { zHashListResponse } from '@generated/api/zod.gen'; import { Observable, Subscription, catchError, forkJoin, map, of } from 'rxjs'; import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout'; @@ -22,7 +23,6 @@ import { RequestParamBuilder } from '@src/app/core/_services/params/builder-impl import { LocalStorageService } from '@src/app/core/_services/storage/local-storage.service'; import { UISettingsUtilityClass } from '@src/app/shared/utils/config'; import { formatUnixTimestamp, unixTimestampInPast } from '@src/app/shared/utils/datetime'; -import { zHashListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-home', diff --git a/src/app/shared/graphs/task-visual/task-visual.component.ts b/src/app/shared/graphs/task-visual/task-visual.component.ts index cbb3530de..64fb4c94a 100644 --- a/src/app/shared/graphs/task-visual/task-visual.component.ts +++ b/src/app/shared/graphs/task-visual/task-visual.component.ts @@ -1,3 +1,4 @@ +import { zChunkListResponse, zTaskListResponse, zTaskWrapperListResponse } from '@generated/api/zod.gen'; import { FilterType } from 'src/app/core/_models/request-params.model'; import { AfterViewInit, Component, ElementRef, Input, ViewChild, inject } from '@angular/core'; @@ -10,7 +11,6 @@ import { JsonAPISerializer } from '@services/api/serializer-service'; import { SERV } from '@services/main.config'; import { GlobalService } from '@services/main.service'; import { RequestParamBuilder } from '@services/params/builder-implementation.service'; -import { zChunkListResponse, zTaskListResponse, zTaskWrapperListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'task-visual', diff --git a/src/app/shared/report-builder/datasources/hashlists.datasource.ts b/src/app/shared/report-builder/datasources/hashlists.datasource.ts index 141d66401..1db96cfff 100644 --- a/src/app/shared/report-builder/datasources/hashlists.datasource.ts +++ b/src/app/shared/report-builder/datasources/hashlists.datasource.ts @@ -1,3 +1,4 @@ +import { zHashlistResponse } from '@generated/api/zod.gen'; import { catchError, finalize, of } from 'rxjs'; import { SERV } from 'src/app/core/_services/main.config'; import { Hashlist } from 'src/app/hashlists/hashlist.model'; @@ -7,7 +8,6 @@ import { JHashlist } from '@models/hashlist.model'; import { JTask } from '@models/task.model'; import { JsonAPISerializer } from '@services/api/serializer-service'; -import { zHashlistResponse } from '@generated/api/zod.gen'; export class HashlistReportDataSource extends ReportBaseDataSource { private _hashlistId = 0; diff --git a/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts b/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts index da7d7ebc2..0ebce7342 100644 --- a/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts +++ b/src/app/tasks/edit-preconfigured-tasks/edit-preconfigured-tasks.component.ts @@ -1,3 +1,4 @@ +import { zPreTaskResponse } from '@generated/api/zod.gen'; import { firstValueFrom } from 'rxjs'; import { HttpBackend, HttpClient, HttpErrorResponse } from '@angular/common/http'; @@ -22,8 +23,6 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { yesNo } from '@src/app/core/_constants/general.config'; import { attackCommandWithAliasValidator } from '@src/app/core/_validators/attack-command.validator'; -import { zPreTaskResponse } from '@generated/api/zod.gen'; - /** * Represents the EditPreconfiguredTasksComponent responsible for editing a Pretask. */ diff --git a/src/app/tasks/edit-supertasks/edit-supertasks.component.ts b/src/app/tasks/edit-supertasks/edit-supertasks.component.ts index dec44936d..b69d93ea1 100644 --- a/src/app/tasks/edit-supertasks/edit-supertasks.component.ts +++ b/src/app/tasks/edit-supertasks/edit-supertasks.component.ts @@ -1,3 +1,5 @@ +import { zPreTaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; + import { HttpErrorResponse } from '@angular/common/http'; import { ChangeDetectorRef, Component, Input, OnDestroy, OnInit, ViewChild, inject } from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; @@ -22,8 +24,6 @@ import { PretasksTableComponent } from '@components/tables/pretasks-table/pretas import { SUPER_TASK_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zPreTaskListResponse, zSupertaskResponse } from '@generated/api/zod.gen'; - @Component({ selector: 'app-edit-supertasks', templateUrl: './edit-supertasks.component.html', diff --git a/src/app/tasks/edit-tasks/edit-tasks.component.ts b/src/app/tasks/edit-tasks/edit-tasks.component.ts index 74a3420d2..31b957270 100644 --- a/src/app/tasks/edit-tasks/edit-tasks.component.ts +++ b/src/app/tasks/edit-tasks/edit-tasks.component.ts @@ -1,3 +1,10 @@ +import { + zAgentAssignmentListResponse, + zAgentListResponse, + zHashTypeResponse, + zSpeedListResponse, + zTaskResponse +} from '@generated/api/zod.gen'; import { Subscription, finalize, firstValueFrom } from 'rxjs'; import { HttpBackend, HttpClient, HttpErrorResponse } from '@angular/common/http'; @@ -10,12 +17,12 @@ import { ActivatedRoute, Router } from '@angular/router'; import { JAgentAssignment } from '@models/agent-assignment.model'; import { JAgent } from '@models/agent.model'; import { JCrackerBinary } from '@models/cracker-binary.model'; -import { JHashtype } from '@models/hashtype.model'; import { JHashlist } from '@models/hashlist.model'; +import { JHashtype } from '@models/hashtype.model'; import { FilterType } from '@models/request-params.model'; import { ResponseWrapper } from '@models/response.model'; -import { JTask } from '@models/task.model'; import { SpeedStat } from '@models/speed-stat.model'; +import { JTask } from '@models/task.model'; import { JsonAPISerializer } from '@services/api/serializer-service'; import { ConfirmDialogService } from '@services/confirm/confirm-dialog.service'; @@ -35,8 +42,6 @@ import { FileSizePipe } from '@src/app/core/_pipes/file-size.pipe'; import { attackCommandWithAliasValidator } from '@src/app/core/_validators/attack-command.validator'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zAgentAssignmentListResponse, zAgentListResponse, zHashTypeResponse, zSpeedListResponse, zTaskResponse } from '@generated/api/zod.gen'; - @Component({ selector: 'app-edit-tasks', templateUrl: './edit-tasks.component.html', @@ -363,7 +368,10 @@ export class EditTasksComponent implements OnInit, OnDestroy { const paramsAgentAssign = new RequestParamBuilder(); paramsAgentAssign.addFilter({ field: 'taskId', operator: FilterType.EQUAL, value: this.editedTaskIndex }); this.gs.getAll(SERV.AGENT_ASSIGN, paramsAgentAssign.create()).subscribe((responseAssignments: ResponseWrapper) => { - const agentAssignments: JAgentAssignment[] = this.serializer.deserialize(responseAssignments, zAgentAssignmentListResponse); + const agentAssignments: JAgentAssignment[] = this.serializer.deserialize( + responseAssignments, + zAgentAssignmentListResponse + ); const agentAssignmentsAgentIds: Array = agentAssignments.map( (agentAssignment) => agentAssignment.agentId ); diff --git a/src/app/tasks/import-supertasks/masks/masks.component.ts b/src/app/tasks/import-supertasks/masks/masks.component.ts index c0710ad57..0601bb52d 100644 --- a/src/app/tasks/import-supertasks/masks/masks.component.ts +++ b/src/app/tasks/import-supertasks/masks/masks.component.ts @@ -1,5 +1,6 @@ import { CRACKER_TYPE_FIELD_MAPPING } from '@constants/select.config'; import { benchmarkType } from '@constants/tasks.config'; +import { zCrackerBinaryTypeListResponse, zPreTaskResponse } from '@generated/api/zod.gen'; import { ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; @@ -20,8 +21,6 @@ import { ResponseWrapper } from '@src/app/core/_models/response.model'; import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zCrackerBinaryTypeListResponse, zPreTaskResponse } from '@generated/api/zod.gen'; - /** * ImportSupertaskMaskComponent is a component responsible for importing SuperTasks with masks. * @@ -122,7 +121,9 @@ export class MasksComponent implements OnInit, OnDestroy { */ loadData(): void { const loadSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerBinaryTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(this.serializer.deserialize(response, zCrackerBinaryTypeListResponse)); + const crackerBinaryTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse( + this.serializer.deserialize(response, zCrackerBinaryTypeListResponse) + ); this.selectCrackertype = transformSelectOptions(crackerBinaryTypes, CRACKER_TYPE_FIELD_MAPPING); }); diff --git a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts index 0d1699488..db807d21a 100644 --- a/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts +++ b/src/app/tasks/import-supertasks/wrbulk/wrbulk.component.ts @@ -1,3 +1,4 @@ +import { zCrackerBinaryTypeListResponse, zFileResponse, zPreTaskResponse } from '@generated/api/zod.gen'; import { firstValueFrom } from 'rxjs'; import { Component, OnDestroy, OnInit, inject } from '@angular/core'; @@ -22,8 +23,6 @@ import { CRACKER_TYPE_FIELD_MAPPING } from '@src/app/core/_constants/select.conf import { benchmarkType } from '@src/app/core/_constants/tasks.config'; import { transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zCrackerBinaryTypeListResponse, zFileResponse, zPreTaskResponse } from '@generated/api/zod.gen'; - @Component({ selector: 'app-wrbulk', templateUrl: './wrbulk.component.html', @@ -112,7 +111,9 @@ export class WrbulkComponent implements OnInit, OnDestroy { */ loadData() { const loadSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerBinaryTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(this.serializer.deserialize(response, zCrackerBinaryTypeListResponse)); + const crackerBinaryTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse( + this.serializer.deserialize(response, zCrackerBinaryTypeListResponse) + ); this.selectCrackertype = transformSelectOptions(crackerBinaryTypes, CRACKER_TYPE_FIELD_MAPPING); }); diff --git a/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts b/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts index b0b76108e..6b26cbf45 100644 --- a/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts +++ b/src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.component.ts @@ -1,3 +1,5 @@ +import { zCrackerBinaryTypeListResponse } from '@generated/api/zod.gen'; + import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { ActivatedRoute, Params, Router } from '@angular/router'; @@ -21,8 +23,6 @@ import { benchmarkType } from '@src/app/core/_constants/tasks.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; import { NewPretaskForm, getNewPretaskForm } from '@src/app/tasks/new-preconfigured-tasks/new-preconfigured-tasks.form'; -import { zCrackerBinaryTypeListResponse } from '@generated/api/zod.gen'; - @Component({ selector: 'app-new-preconfigured-tasks', templateUrl: './new-preconfigured-tasks.component.html', @@ -107,7 +107,9 @@ export class NewPreconfiguredTasksComponent implements OnInit, OnDestroy { loadData() { const loadCrackersSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse)); + const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse( + new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse) + ); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); }); this.unsubscribeService.add(loadCrackersSubscription$); diff --git a/src/app/tasks/new-tasks/new-tasks.component.ts b/src/app/tasks/new-tasks/new-tasks.component.ts index af4281016..c2e9ec9c7 100644 --- a/src/app/tasks/new-tasks/new-tasks.component.ts +++ b/src/app/tasks/new-tasks/new-tasks.component.ts @@ -1,3 +1,9 @@ +import { + zCrackerBinaryListResponse, + zCrackerBinaryTypeListResponse, + zHashlistListResponse, + zPreprocessorListResponse +} from '@generated/api/zod.gen'; import { combineLatest, firstValueFrom, switchMap } from 'rxjs'; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, OnInit, inject } from '@angular/core'; @@ -6,7 +12,7 @@ import { FormGroup } from '@angular/forms'; import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute, Router } from '@angular/router'; -import { JCrackerBinaryType, JCrackerBinary, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; +import { JCrackerBinary, JCrackerBinaryType, zCrackerBinaryTypeList } from '@models/cracker-binary.model'; import { FileType, TaskSelectFile } from '@models/file.model'; import { JHashlist } from '@models/hashlist.model'; import { JPreprocessor } from '@models/preprocessor.model'; @@ -36,8 +42,6 @@ import { AttackCommandData, NewTaskForm, getNewTaskForm } from '@src/app/tasks/n import { NewTaskRouteKind } from '@src/app/tasks/tasks-routing.constants'; import { environment } from '@src/environments/environment'; -import { zCrackerBinaryListResponse, zCrackerBinaryTypeListResponse, zHashlistListResponse, zPreprocessorListResponse } from '@generated/api/zod.gen'; - type FileId = number; type HashListId = number; @@ -204,7 +208,9 @@ export class NewTasksComponent implements OnInit { private async loadCrackerSelectOptions(): Promise { try { const typeResponse: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.CRACKERS_TYPES)); - const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(new JsonAPISerializer().deserialize(typeResponse, zCrackerBinaryTypeListResponse)); + const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse( + new JsonAPISerializer().deserialize(typeResponse, zCrackerBinaryTypeListResponse) + ); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); let typeId = this.selectCrackertype.find((obj) => obj.name === 'hashcat')?.id; @@ -222,7 +228,10 @@ export class NewTasksComponent implements OnInit { const versionResponse: ResponseWrapper = await firstValueFrom(this.gs.getAll(SERV.CRACKERS, requestParams)); - const crackers: JCrackerBinary[] = new JsonAPISerializer().deserialize(versionResponse, zCrackerBinaryListResponse); + const crackers: JCrackerBinary[] = new JsonAPISerializer().deserialize( + versionResponse, + zCrackerBinaryListResponse + ); this.selectCrackerversions = transformSelectOptions(crackers, CRACKER_VERSION_FIELD_MAPPING); diff --git a/src/app/tasks/supertasks/applyhashlist.component.ts b/src/app/tasks/supertasks/applyhashlist.component.ts index d287b7967..395593f6f 100644 --- a/src/app/tasks/supertasks/applyhashlist.component.ts +++ b/src/app/tasks/supertasks/applyhashlist.component.ts @@ -1,3 +1,9 @@ +import { + zCrackerBinaryListResponse, + zCrackerBinaryTypeListResponse, + zHashlistListResponse +} from '@generated/api/zod.gen'; + import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; import { ActivatedRoute, Params, Router } from '@angular/router'; @@ -22,8 +28,6 @@ import { } from '@src/app/core/_constants/select.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; -import { zCrackerBinaryListResponse, zCrackerBinaryTypeListResponse, zHashlistListResponse } from '@generated/api/zod.gen'; - /** * ApplyHashlistComponent is a component responsible for managing and applying hashlists. * @@ -177,7 +181,9 @@ export class ApplyHashlistComponent implements OnInit, OnDestroy { loadCrackerSelectOptions() { // Load Cracker Types and Crackers Select Options const loadCrackerTypesSubscription$ = this.gs.getAll(SERV.CRACKERS_TYPES).subscribe((response: ResponseWrapper) => { - const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse(new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse)); + const crackerTypes: JCrackerBinaryType[] = zCrackerBinaryTypeList.parse( + new JsonAPISerializer().deserialize(response, zCrackerBinaryTypeListResponse) + ); this.selectCrackertype = transformSelectOptions(crackerTypes, CRACKER_TYPE_FIELD_MAPPING); let id = ''; if (this.selectCrackertype.find((obj) => obj.name === 'hashcat').id) { diff --git a/src/app/users/edit-groups/edit-groups.component.spec.ts b/src/app/users/edit-groups/edit-groups.component.spec.ts index 1f08cfb13..1505ea529 100644 --- a/src/app/users/edit-groups/edit-groups.component.spec.ts +++ b/src/app/users/edit-groups/edit-groups.component.spec.ts @@ -1,3 +1,4 @@ +import { zAccessGroupListResponse, zUserListResponse } from '@generated/api/zod.gen'; import { of } from 'rxjs'; import { ComponentFixture, TestBed } from '@angular/core/testing'; @@ -17,10 +18,8 @@ import { UnsubscribeService } from '@services/unsubscribe.service'; import { AccessGroupsAgentsTableComponent } from '@components/tables/access-groups-agents-table/access-groups-agents-table.component'; import { AccessGroupsUserTableComponent } from '@components/tables/access-groups-users-table/access-groups-users-table.component'; -import { EditGroupsComponent } from '@src/app/users/edit-groups/edit-groups.component'; - import { JsonAPISerializer } from '@src/app/core/_services/api/serializer-service'; -import { zAccessGroupListResponse, zUserListResponse } from '@generated/api/zod.gen'; +import { EditGroupsComponent } from '@src/app/users/edit-groups/edit-groups.component'; const mockAccessGroupResponse: ResponseWrapper = { data: { diff --git a/src/app/users/edit-groups/edit-groups.component.ts b/src/app/users/edit-groups/edit-groups.component.ts index 962e11560..87ec50036 100644 --- a/src/app/users/edit-groups/edit-groups.component.ts +++ b/src/app/users/edit-groups/edit-groups.component.ts @@ -1,3 +1,4 @@ +import { zAccessGroupResponse, zAgentListResponse, zUserListResponse } from '@generated/api/zod.gen'; import { firstValueFrom } from 'rxjs'; import { Component, OnDestroy, OnInit, ViewChild, inject } from '@angular/core'; @@ -31,7 +32,6 @@ import { getAddAgentsForm, getAddUsersForm } from '@src/app/users/edit-groups/edit-groups.form'; -import { zAccessGroupResponse, zAgentListResponse, zUserListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-edit-groups', diff --git a/src/app/users/edit-users/edit-users.component.ts b/src/app/users/edit-users/edit-users.component.ts index 83d469b90..3cde3c8b4 100644 --- a/src/app/users/edit-users/edit-users.component.ts +++ b/src/app/users/edit-users/edit-users.component.ts @@ -1,11 +1,12 @@ +import { zGlobalPermissionGroupListResponse, zUserResponse } from '@generated/api/zod.gen'; import { finalize } from 'rxjs'; import { ChangeDetectorRef, Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { ActivatedRoute, Params, Router } from '@angular/router'; -import { ResponseWrapper } from '@models/response.model'; import { JGlobalPermissionGroup } from '@models/global-permission-group.model'; +import { ResponseWrapper } from '@models/response.model'; import { JUser } from '@models/user.model'; import { JsonAPISerializer } from '@services/api/serializer-service'; @@ -28,7 +29,6 @@ import { getEditUserForm, getUpdatePassForm } from '@src/app/users/edit-users/edit-user.form'; -import { zGlobalPermissionGroupListResponse, zUserResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-edit-users', @@ -126,7 +126,10 @@ export class EditUsersComponent implements OnInit, OnDestroy { const loadAGPSubscription$ = this.gs .getAll(SERV.ACCESS_PERMISSIONS_GROUPS) .subscribe((response: ResponseWrapper) => { - const globalPermissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize(response, zGlobalPermissionGroupListResponse); + const globalPermissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize( + response, + zGlobalPermissionGroupListResponse + ); this.selectGlobalPermissionGroups = transformSelectOptions(globalPermissionGroups, DEFAULT_FIELD_MAPPING); this.isLoading = false; this.changeDetectorRef.detectChanges(); diff --git a/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts b/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts index 096f0de77..436677f5d 100644 --- a/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts +++ b/src/app/users/globalpermissionsgroups/edit-globalpermissionsgroups/edit-globalpermissionsgroups.component.ts @@ -1,6 +1,8 @@ /** * This module contains the component to manage and edit GlobalPermissionGroups */ +import { zGlobalPermissionGroupResponse } from '@generated/api/zod.gen'; + import { Component, OnDestroy, OnInit, inject } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { ActivatedRoute, Params } from '@angular/router'; @@ -15,8 +17,6 @@ import { AlertService } from '@services/shared/alert.service'; import { AutoTitleService } from '@services/shared/autotitle.service'; import { UnsubscribeService } from '@services/unsubscribe.service'; -import { zGlobalPermissionGroupResponse } from '@generated/api/zod.gen'; - @Component({ selector: 'app-edit-globalpermissionsgroups', templateUrl: './edit-globalpermissionsgroups.component.html', diff --git a/src/app/users/new-user/new-user.component.ts b/src/app/users/new-user/new-user.component.ts index 65bc938a8..38272d467 100644 --- a/src/app/users/new-user/new-user.component.ts +++ b/src/app/users/new-user/new-user.component.ts @@ -1,6 +1,7 @@ /** * This module contains the component to create a new user */ +import { zGlobalPermissionGroupListResponse } from '@generated/api/zod.gen'; import { firstValueFrom } from 'rxjs'; import { Component, OnInit, inject } from '@angular/core'; @@ -18,7 +19,6 @@ import { AlertService } from '@services/shared/alert.service'; import { DEFAULT_FIELD_MAPPING } from '@src/app/core/_constants/select.config'; import { SelectOption, transformSelectOptions } from '@src/app/shared/utils/forms'; import { NewUserForm, getNewUserForm } from '@src/app/users/new-user/new-user.form'; -import { zGlobalPermissionGroupListResponse } from '@generated/api/zod.gen'; @Component({ selector: 'app-new-user', @@ -47,7 +47,10 @@ export class NewUserComponent implements OnInit { try { const response = await firstValueFrom(this.gs.getAll(SERV.ACCESS_PERMISSIONS_GROUPS)); - const permissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize(response, zGlobalPermissionGroupListResponse); + const permissionGroups: JGlobalPermissionGroup[] = new JsonAPISerializer().deserialize( + response, + zGlobalPermissionGroupListResponse + ); this.selectGlobalPermissionGroups = transformSelectOptions(permissionGroups, DEFAULT_FIELD_MAPPING); } catch { this.alert.showErrorMessage('Error fetching permission groups'); diff --git a/src/generated/api/index.ts b/src/generated/api/index.ts index 8627a324d..fb789d498 100644 --- a/src/generated/api/index.ts +++ b/src/generated/api/index.ts @@ -1,3 +1,1691 @@ // This file is auto-generated by @hey-api/openapi-ts -export type { AbortChunkHelperApi, AbortChunkHelperApiResponse, AccessGroupCreate, AccessGroupListResponse, AccessGroupPatch, AccessGroupPostPatchResponse, AccessGroupRelationAgentMembers, AccessGroupRelationAgentMembersGetResponse, AccessGroupResponse, AgentAssignmentCreate, AgentAssignmentListResponse, AgentAssignmentPatch, AgentAssignmentPostPatchResponse, AgentAssignmentRelationTask, AgentAssignmentRelationTaskGetResponse, AgentAssignmentResponse, AgentBinaryCreate, AgentBinaryListResponse, AgentBinaryPatch, AgentBinaryPostPatchResponse, AgentBinaryResponse, AgentErrorListResponse, AgentErrorRelationTask, AgentErrorRelationTaskGetResponse, AgentErrorResponse, AgentListResponse, AgentPatch, AgentPostPatchResponse, AgentRelationAssignments, AgentRelationAssignmentsGetResponse, AgentResponse, AgentStatListResponse, AgentStatResponse, ApiTokenCreate, ApiTokenListResponse, ApiTokenPatch, ApiTokenPostPatchResponse, ApiTokenRelationUser, ApiTokenRelationUserGetResponse, ApiTokenResponse, AssignAgentHelperApi, AssignAgentHelperApiResponse, BulkSupertaskBuilderHelperApi, ChangeOwnPasswordHelperApi, ChangeOwnPasswordHelperApiResponse, ChunkListResponse, ChunkRelationTask, ChunkRelationTaskGetResponse, ChunkResponse, ClientOptions, ConfigListResponse, ConfigPatch, ConfigPostPatchResponse, ConfigRelationConfigSection, ConfigRelationConfigSectionGetResponse, ConfigResponse, ConfigSectionListResponse, ConfigSectionResponse, CrackerBinaryCreate, CrackerBinaryListResponse, CrackerBinaryPatch, CrackerBinaryPostPatchResponse, CrackerBinaryRelationTasks, CrackerBinaryRelationTasksGetResponse, CrackerBinaryResponse, CrackerBinaryTypeCreate, CrackerBinaryTypeListResponse, CrackerBinaryTypePatch, CrackerBinaryTypePostPatchResponse, CrackerBinaryTypeRelationTasks, CrackerBinaryTypeRelationTasksGetResponse, CrackerBinaryTypeResponse, CreateSuperHashlistHelperApi, CreateSupertaskHelperApi, DeleteAccessgroupsByIdData, DeleteAccessgroupsByIdError, DeleteAccessgroupsByIdErrors, DeleteAccessgroupsByIdRelationshipsByRelationData, DeleteAccessgroupsByIdRelationshipsByRelationError, DeleteAccessgroupsByIdRelationshipsByRelationErrors, DeleteAccessgroupsByIdRelationshipsByRelationResponse, DeleteAccessgroupsByIdRelationshipsByRelationResponses, DeleteAccessgroupsByIdResponse, DeleteAccessgroupsByIdResponses, DeleteAccessgroupsData, DeleteAccessgroupsError, DeleteAccessgroupsErrors, DeleteAccessgroupsResponses, DeleteAgentassignmentsByIdData, DeleteAgentassignmentsByIdError, DeleteAgentassignmentsByIdErrors, DeleteAgentassignmentsByIdResponse, DeleteAgentassignmentsByIdResponses, DeleteAgentassignmentsData, DeleteAgentassignmentsError, DeleteAgentassignmentsErrors, DeleteAgentassignmentsResponses, DeleteAgentbinariesByIdData, DeleteAgentbinariesByIdError, DeleteAgentbinariesByIdErrors, DeleteAgentbinariesByIdResponse, DeleteAgentbinariesByIdResponses, DeleteAgentbinariesData, DeleteAgentbinariesError, DeleteAgentbinariesErrors, DeleteAgentbinariesResponses, DeleteAgenterrorsByIdData, DeleteAgenterrorsByIdError, DeleteAgenterrorsByIdErrors, DeleteAgenterrorsByIdResponse, DeleteAgenterrorsByIdResponses, DeleteAgenterrorsData, DeleteAgenterrorsError, DeleteAgenterrorsErrors, DeleteAgenterrorsResponses, DeleteAgentsByIdData, DeleteAgentsByIdError, DeleteAgentsByIdErrors, DeleteAgentsByIdRelationshipsByRelationData, DeleteAgentsByIdRelationshipsByRelationError, DeleteAgentsByIdRelationshipsByRelationErrors, DeleteAgentsByIdRelationshipsByRelationResponse, DeleteAgentsByIdRelationshipsByRelationResponses, DeleteAgentsByIdResponse, DeleteAgentsByIdResponses, DeleteAgentsData, DeleteAgentsError, DeleteAgentsErrors, DeleteAgentsResponses, DeleteAgentstatsByIdData, DeleteAgentstatsByIdError, DeleteAgentstatsByIdErrors, DeleteAgentstatsByIdResponse, DeleteAgentstatsByIdResponses, DeleteAgentstatsData, DeleteAgentstatsError, DeleteAgentstatsErrors, DeleteAgentstatsResponses, DeleteApiTokensByIdData, DeleteApiTokensByIdError, DeleteApiTokensByIdErrors, DeleteApiTokensByIdResponse, DeleteApiTokensByIdResponses, DeleteApiTokensData, DeleteApiTokensError, DeleteApiTokensErrors, DeleteApiTokensResponses, DeleteCrackersByIdData, DeleteCrackersByIdError, DeleteCrackersByIdErrors, DeleteCrackersByIdRelationshipsByRelationData, DeleteCrackersByIdRelationshipsByRelationError, DeleteCrackersByIdRelationshipsByRelationErrors, DeleteCrackersByIdRelationshipsByRelationResponse, DeleteCrackersByIdRelationshipsByRelationResponses, DeleteCrackersByIdResponse, DeleteCrackersByIdResponses, DeleteCrackersData, DeleteCrackersError, DeleteCrackersErrors, DeleteCrackersResponses, DeleteCrackertypesByIdData, DeleteCrackertypesByIdError, DeleteCrackertypesByIdErrors, DeleteCrackertypesByIdRelationshipsByRelationData, DeleteCrackertypesByIdRelationshipsByRelationError, DeleteCrackertypesByIdRelationshipsByRelationErrors, DeleteCrackertypesByIdRelationshipsByRelationResponse, DeleteCrackertypesByIdRelationshipsByRelationResponses, DeleteCrackertypesByIdResponse, DeleteCrackertypesByIdResponses, DeleteCrackertypesData, DeleteCrackertypesError, DeleteCrackertypesErrors, DeleteCrackertypesResponses, DeleteFilesByIdData, DeleteFilesByIdError, DeleteFilesByIdErrors, DeleteFilesByIdResponse, DeleteFilesByIdResponses, DeleteFilesData, DeleteFilesError, DeleteFilesErrors, DeleteFilesResponses, DeleteGlobalpermissiongroupsByIdData, DeleteGlobalpermissiongroupsByIdError, DeleteGlobalpermissiongroupsByIdErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse, DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses, DeleteGlobalpermissiongroupsByIdResponse, DeleteGlobalpermissiongroupsByIdResponses, DeleteGlobalpermissiongroupsData, DeleteGlobalpermissiongroupsError, DeleteGlobalpermissiongroupsErrors, DeleteGlobalpermissiongroupsResponses, DeleteHashlistsByIdData, DeleteHashlistsByIdError, DeleteHashlistsByIdErrors, DeleteHashlistsByIdRelationshipsByRelationData, DeleteHashlistsByIdRelationshipsByRelationError, DeleteHashlistsByIdRelationshipsByRelationErrors, DeleteHashlistsByIdRelationshipsByRelationResponse, DeleteHashlistsByIdRelationshipsByRelationResponses, DeleteHashlistsByIdResponse, DeleteHashlistsByIdResponses, DeleteHashlistsData, DeleteHashlistsError, DeleteHashlistsErrors, DeleteHashlistsResponses, DeleteHashtypesByIdData, DeleteHashtypesByIdError, DeleteHashtypesByIdErrors, DeleteHashtypesByIdResponse, DeleteHashtypesByIdResponses, DeleteHashtypesData, DeleteHashtypesError, DeleteHashtypesErrors, DeleteHashtypesResponses, DeleteHealthchecksByIdData, DeleteHealthchecksByIdError, DeleteHealthchecksByIdErrors, DeleteHealthchecksByIdRelationshipsByRelationData, DeleteHealthchecksByIdRelationshipsByRelationError, DeleteHealthchecksByIdRelationshipsByRelationErrors, DeleteHealthchecksByIdRelationshipsByRelationResponse, DeleteHealthchecksByIdRelationshipsByRelationResponses, DeleteHealthchecksByIdResponse, DeleteHealthchecksByIdResponses, DeleteHealthchecksData, DeleteHealthchecksError, DeleteHealthchecksErrors, DeleteHealthchecksResponses, DeleteImportFileById09aF32Data, DeleteImportFileById09aF32Responses, DeleteLogentriesByIdData, DeleteLogentriesByIdError, DeleteLogentriesByIdErrors, DeleteLogentriesByIdResponse, DeleteLogentriesByIdResponses, DeleteLogentriesData, DeleteLogentriesError, DeleteLogentriesErrors, DeleteLogentriesResponses, DeleteNotificationsByIdData, DeleteNotificationsByIdError, DeleteNotificationsByIdErrors, DeleteNotificationsByIdResponse, DeleteNotificationsByIdResponses, DeleteNotificationsData, DeleteNotificationsError, DeleteNotificationsErrors, DeleteNotificationsResponses, DeletePreprocessorsByIdData, DeletePreprocessorsByIdError, DeletePreprocessorsByIdErrors, DeletePreprocessorsByIdResponse, DeletePreprocessorsByIdResponses, DeletePreprocessorsData, DeletePreprocessorsError, DeletePreprocessorsErrors, DeletePreprocessorsResponses, DeletePretasksByIdData, DeletePretasksByIdError, DeletePretasksByIdErrors, DeletePretasksByIdRelationshipsByRelationData, DeletePretasksByIdRelationshipsByRelationError, DeletePretasksByIdRelationshipsByRelationErrors, DeletePretasksByIdRelationshipsByRelationResponse, DeletePretasksByIdRelationshipsByRelationResponses, DeletePretasksByIdResponse, DeletePretasksByIdResponses, DeletePretasksData, DeletePretasksError, DeletePretasksErrors, DeletePretasksResponses, DeleteSupertasksByIdData, DeleteSupertasksByIdError, DeleteSupertasksByIdErrors, DeleteSupertasksByIdRelationshipsByRelationData, DeleteSupertasksByIdRelationshipsByRelationError, DeleteSupertasksByIdRelationshipsByRelationErrors, DeleteSupertasksByIdRelationshipsByRelationResponse, DeleteSupertasksByIdRelationshipsByRelationResponses, DeleteSupertasksByIdResponse, DeleteSupertasksByIdResponses, DeleteSupertasksData, DeleteSupertasksError, DeleteSupertasksErrors, DeleteSupertasksResponses, DeleteTasksByIdData, DeleteTasksByIdError, DeleteTasksByIdErrors, DeleteTasksByIdRelationshipsByRelationData, DeleteTasksByIdRelationshipsByRelationError, DeleteTasksByIdRelationshipsByRelationErrors, DeleteTasksByIdRelationshipsByRelationResponse, DeleteTasksByIdRelationshipsByRelationResponses, DeleteTasksByIdResponse, DeleteTasksByIdResponses, DeleteTasksData, DeleteTasksError, DeleteTasksErrors, DeleteTasksResponses, DeleteTaskwrappersByIdData, DeleteTaskwrappersByIdError, DeleteTaskwrappersByIdErrors, DeleteTaskwrappersByIdRelationshipsByRelationData, DeleteTaskwrappersByIdRelationshipsByRelationError, DeleteTaskwrappersByIdRelationshipsByRelationErrors, DeleteTaskwrappersByIdRelationshipsByRelationResponse, DeleteTaskwrappersByIdRelationshipsByRelationResponses, DeleteTaskwrappersByIdResponse, DeleteTaskwrappersByIdResponses, DeleteTaskwrappersData, DeleteTaskwrappersError, DeleteTaskwrappersErrors, DeleteTaskwrappersResponses, DeleteUsersByIdData, DeleteUsersByIdError, DeleteUsersByIdErrors, DeleteUsersByIdRelationshipsByRelationData, DeleteUsersByIdRelationshipsByRelationError, DeleteUsersByIdRelationshipsByRelationErrors, DeleteUsersByIdRelationshipsByRelationResponse, DeleteUsersByIdRelationshipsByRelationResponses, DeleteUsersByIdResponse, DeleteUsersByIdResponses, DeleteUsersData, DeleteUsersError, DeleteUsersErrors, DeleteUsersResponses, DeleteVouchersByIdData, DeleteVouchersByIdError, DeleteVouchersByIdErrors, DeleteVouchersByIdResponse, DeleteVouchersByIdResponses, DeleteVouchersData, DeleteVouchersError, DeleteVouchersErrors, DeleteVouchersResponses, ErrorResponse, ExportCrackedHashesHelperApi, ExportLeftHashesHelperApi, ExportWordlistHelperApi, FileCreate, FileListResponse, FilePatch, FilePostPatchResponse, FileRelationAccessGroup, FileRelationAccessGroupGetResponse, FileResponse, FileSingleResponse, GetAccessgroupsByIdByRelationData, GetAccessgroupsByIdByRelationError, GetAccessgroupsByIdByRelationErrors, GetAccessgroupsByIdByRelationResponse, GetAccessgroupsByIdByRelationResponses, GetAccessgroupsByIdData, GetAccessgroupsByIdError, GetAccessgroupsByIdErrors, GetAccessgroupsByIdRelationshipsByRelationData, GetAccessgroupsByIdRelationshipsByRelationError, GetAccessgroupsByIdRelationshipsByRelationErrors, GetAccessgroupsByIdRelationshipsByRelationResponse, GetAccessgroupsByIdRelationshipsByRelationResponses, GetAccessgroupsByIdResponse, GetAccessgroupsByIdResponses, GetAccessgroupsCountData, GetAccessgroupsCountError, GetAccessgroupsCountErrors, GetAccessgroupsCountResponse, GetAccessgroupsCountResponses, GetAccessgroupsData, GetAccessgroupsError, GetAccessgroupsErrors, GetAccessgroupsResponse, GetAccessgroupsResponses, GetAgentassignmentsByIdByRelationData, GetAgentassignmentsByIdByRelationError, GetAgentassignmentsByIdByRelationErrors, GetAgentassignmentsByIdByRelationResponse, GetAgentassignmentsByIdByRelationResponses, GetAgentassignmentsByIdData, GetAgentassignmentsByIdError, GetAgentassignmentsByIdErrors, GetAgentassignmentsByIdRelationshipsByRelationData, GetAgentassignmentsByIdRelationshipsByRelationError, GetAgentassignmentsByIdRelationshipsByRelationErrors, GetAgentassignmentsByIdRelationshipsByRelationResponse, GetAgentassignmentsByIdRelationshipsByRelationResponses, GetAgentassignmentsByIdResponse, GetAgentassignmentsByIdResponses, GetAgentassignmentsCountData, GetAgentassignmentsCountError, GetAgentassignmentsCountErrors, GetAgentassignmentsCountResponse, GetAgentassignmentsCountResponses, GetAgentassignmentsData, GetAgentassignmentsError, GetAgentassignmentsErrors, GetAgentassignmentsResponse, GetAgentassignmentsResponses, GetAgentbinariesByIdData, GetAgentbinariesByIdError, GetAgentbinariesByIdErrors, GetAgentbinariesByIdResponse, GetAgentbinariesByIdResponses, GetAgentbinariesCountData, GetAgentbinariesCountError, GetAgentbinariesCountErrors, GetAgentbinariesCountResponse, GetAgentbinariesCountResponses, GetAgentbinariesData, GetAgentbinariesError, GetAgentbinariesErrors, GetAgentbinariesResponse, GetAgentbinariesResponses, GetAgenterrorsByIdByRelationData, GetAgenterrorsByIdByRelationError, GetAgenterrorsByIdByRelationErrors, GetAgenterrorsByIdByRelationResponse, GetAgenterrorsByIdByRelationResponses, GetAgenterrorsByIdData, GetAgenterrorsByIdError, GetAgenterrorsByIdErrors, GetAgenterrorsByIdRelationshipsByRelationData, GetAgenterrorsByIdRelationshipsByRelationError, GetAgenterrorsByIdRelationshipsByRelationErrors, GetAgenterrorsByIdRelationshipsByRelationResponse, GetAgenterrorsByIdRelationshipsByRelationResponses, GetAgenterrorsByIdResponse, GetAgenterrorsByIdResponses, GetAgenterrorsCountData, GetAgenterrorsCountError, GetAgenterrorsCountErrors, GetAgenterrorsCountResponse, GetAgenterrorsCountResponses, GetAgenterrorsData, GetAgenterrorsError, GetAgenterrorsErrors, GetAgenterrorsResponse, GetAgenterrorsResponses, GetAgentsByIdByRelationData, GetAgentsByIdByRelationError, GetAgentsByIdByRelationErrors, GetAgentsByIdByRelationResponse, GetAgentsByIdByRelationResponses, GetAgentsByIdData, GetAgentsByIdError, GetAgentsByIdErrors, GetAgentsByIdRelationshipsByRelationData, GetAgentsByIdRelationshipsByRelationError, GetAgentsByIdRelationshipsByRelationErrors, GetAgentsByIdRelationshipsByRelationResponse, GetAgentsByIdRelationshipsByRelationResponses, GetAgentsByIdResponse, GetAgentsByIdResponses, GetAgentsCountData, GetAgentsCountError, GetAgentsCountErrors, GetAgentsCountResponse, GetAgentsCountResponses, GetAgentsData, GetAgentsError, GetAgentsErrors, GetAgentsResponse, GetAgentsResponses, GetAgentstatsByIdData, GetAgentstatsByIdError, GetAgentstatsByIdErrors, GetAgentstatsByIdResponse, GetAgentstatsByIdResponses, GetAgentstatsCountData, GetAgentstatsCountError, GetAgentstatsCountErrors, GetAgentstatsCountResponse, GetAgentstatsCountResponses, GetAgentstatsData, GetAgentstatsError, GetAgentstatsErrors, GetAgentstatsResponse, GetAgentstatsResponses, GetApiTokensByIdByRelationData, GetApiTokensByIdByRelationError, GetApiTokensByIdByRelationErrors, GetApiTokensByIdByRelationResponse, GetApiTokensByIdByRelationResponses, GetApiTokensByIdData, GetApiTokensByIdError, GetApiTokensByIdErrors, GetApiTokensByIdRelationshipsByRelationData, GetApiTokensByIdRelationshipsByRelationError, GetApiTokensByIdRelationshipsByRelationErrors, GetApiTokensByIdRelationshipsByRelationResponse, GetApiTokensByIdRelationshipsByRelationResponses, GetApiTokensByIdResponse, GetApiTokensByIdResponses, GetApiTokensCountData, GetApiTokensCountError, GetApiTokensCountErrors, GetApiTokensCountResponse, GetApiTokensCountResponses, GetApiTokensData, GetApiTokensError, GetApiTokensErrors, GetApiTokensResponse, GetApiTokensResponses, GetChunksByIdByRelationData, GetChunksByIdByRelationError, GetChunksByIdByRelationErrors, GetChunksByIdByRelationResponse, GetChunksByIdByRelationResponses, GetChunksByIdData, GetChunksByIdError, GetChunksByIdErrors, GetChunksByIdRelationshipsByRelationData, GetChunksByIdRelationshipsByRelationError, GetChunksByIdRelationshipsByRelationErrors, GetChunksByIdRelationshipsByRelationResponse, GetChunksByIdRelationshipsByRelationResponses, GetChunksByIdResponse, GetChunksByIdResponses, GetChunksCountData, GetChunksCountError, GetChunksCountErrors, GetChunksCountResponse, GetChunksCountResponses, GetChunksData, GetChunksError, GetChunksErrors, GetChunksResponse, GetChunksResponses, GetConfigsByIdByRelationData, GetConfigsByIdByRelationError, GetConfigsByIdByRelationErrors, GetConfigsByIdByRelationResponse, GetConfigsByIdByRelationResponses, GetConfigsByIdData, GetConfigsByIdError, GetConfigsByIdErrors, GetConfigsByIdRelationshipsByRelationData, GetConfigsByIdRelationshipsByRelationError, GetConfigsByIdRelationshipsByRelationErrors, GetConfigsByIdRelationshipsByRelationResponse, GetConfigsByIdRelationshipsByRelationResponses, GetConfigsByIdResponse, GetConfigsByIdResponses, GetConfigsCountData, GetConfigsCountError, GetConfigsCountErrors, GetConfigsCountResponse, GetConfigsCountResponses, GetConfigsData, GetConfigsectionsByIdData, GetConfigsectionsByIdError, GetConfigsectionsByIdErrors, GetConfigsectionsByIdResponse, GetConfigsectionsByIdResponses, GetConfigsectionsCountData, GetConfigsectionsCountError, GetConfigsectionsCountErrors, GetConfigsectionsCountResponse, GetConfigsectionsCountResponses, GetConfigsectionsData, GetConfigsectionsError, GetConfigsectionsErrors, GetConfigsectionsResponse, GetConfigsectionsResponses, GetConfigsError, GetConfigsErrors, GetConfigsResponse, GetConfigsResponses, GetCrackersByIdByRelationData, GetCrackersByIdByRelationError, GetCrackersByIdByRelationErrors, GetCrackersByIdByRelationResponse, GetCrackersByIdByRelationResponses, GetCrackersByIdData, GetCrackersByIdError, GetCrackersByIdErrors, GetCrackersByIdRelationshipsByRelationData, GetCrackersByIdRelationshipsByRelationError, GetCrackersByIdRelationshipsByRelationErrors, GetCrackersByIdRelationshipsByRelationResponse, GetCrackersByIdRelationshipsByRelationResponses, GetCrackersByIdResponse, GetCrackersByIdResponses, GetCrackersCountData, GetCrackersCountError, GetCrackersCountErrors, GetCrackersCountResponse, GetCrackersCountResponses, GetCrackersData, GetCrackersError, GetCrackersErrors, GetCrackersResponse, GetCrackersResponses, GetCrackertypesByIdByRelationData, GetCrackertypesByIdByRelationError, GetCrackertypesByIdByRelationErrors, GetCrackertypesByIdByRelationResponse, GetCrackertypesByIdByRelationResponses, GetCrackertypesByIdData, GetCrackertypesByIdError, GetCrackertypesByIdErrors, GetCrackertypesByIdRelationshipsByRelationData, GetCrackertypesByIdRelationshipsByRelationError, GetCrackertypesByIdRelationshipsByRelationErrors, GetCrackertypesByIdRelationshipsByRelationResponse, GetCrackertypesByIdRelationshipsByRelationResponses, GetCrackertypesByIdResponse, GetCrackertypesByIdResponses, GetCrackertypesCountData, GetCrackertypesCountError, GetCrackertypesCountErrors, GetCrackertypesCountResponse, GetCrackertypesCountResponses, GetCrackertypesData, GetCrackertypesError, GetCrackertypesErrors, GetCrackertypesResponse, GetCrackertypesResponses, GetCurrentUserData, GetCurrentUserResponses, GetFilesByIdByRelationData, GetFilesByIdByRelationError, GetFilesByIdByRelationErrors, GetFilesByIdByRelationResponse, GetFilesByIdByRelationResponses, GetFilesByIdData, GetFilesByIdError, GetFilesByIdErrors, GetFilesByIdRelationshipsByRelationData, GetFilesByIdRelationshipsByRelationError, GetFilesByIdRelationshipsByRelationErrors, GetFilesByIdRelationshipsByRelationResponse, GetFilesByIdRelationshipsByRelationResponses, GetFilesByIdResponse, GetFilesByIdResponses, GetFilesCountData, GetFilesCountError, GetFilesCountErrors, GetFilesCountResponse, GetFilesCountResponses, GetFilesData, GetFilesError, GetFilesErrors, GetFilesResponse, GetFilesResponses, GetGetAccessGroupsData, GetGetAccessGroupsResponses, GetGetAgentBinaryData, GetGetAgentBinaryResponses, GetGetBestTasksAgentData, GetGetBestTasksAgentResponses, GetGetCracksOfTaskData, GetGetCracksOfTaskResponses, GetGetFileData, GetGetFileResponses, GetGetTaskProgressImageData, GetGetTaskProgressImageResponses, GetGetUserPermissionData, GetGetUserPermissionResponses, GetGlobalpermissiongroupsByIdByRelationData, GetGlobalpermissiongroupsByIdByRelationError, GetGlobalpermissiongroupsByIdByRelationErrors, GetGlobalpermissiongroupsByIdByRelationResponse, GetGlobalpermissiongroupsByIdByRelationResponses, GetGlobalpermissiongroupsByIdData, GetGlobalpermissiongroupsByIdError, GetGlobalpermissiongroupsByIdErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationData, GetGlobalpermissiongroupsByIdRelationshipsByRelationError, GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse, GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses, GetGlobalpermissiongroupsByIdResponse, GetGlobalpermissiongroupsByIdResponses, GetGlobalpermissiongroupsCountData, GetGlobalpermissiongroupsCountError, GetGlobalpermissiongroupsCountErrors, GetGlobalpermissiongroupsCountResponse, GetGlobalpermissiongroupsCountResponses, GetGlobalpermissiongroupsData, GetGlobalpermissiongroupsError, GetGlobalpermissiongroupsErrors, GetGlobalpermissiongroupsResponse, GetGlobalpermissiongroupsResponses, GetHashesByIdByRelationData, GetHashesByIdByRelationError, GetHashesByIdByRelationErrors, GetHashesByIdByRelationResponse, GetHashesByIdByRelationResponses, GetHashesByIdData, GetHashesByIdError, GetHashesByIdErrors, GetHashesByIdRelationshipsByRelationData, GetHashesByIdRelationshipsByRelationError, GetHashesByIdRelationshipsByRelationErrors, GetHashesByIdRelationshipsByRelationResponse, GetHashesByIdRelationshipsByRelationResponses, GetHashesByIdResponse, GetHashesByIdResponses, GetHashesCountData, GetHashesCountError, GetHashesCountErrors, GetHashesCountResponse, GetHashesCountResponses, GetHashesData, GetHashesError, GetHashesErrors, GetHashesResponse, GetHashesResponses, GetHashlistsByIdByRelationData, GetHashlistsByIdByRelationError, GetHashlistsByIdByRelationErrors, GetHashlistsByIdByRelationResponse, GetHashlistsByIdByRelationResponses, GetHashlistsByIdData, GetHashlistsByIdError, GetHashlistsByIdErrors, GetHashlistsByIdRelationshipsByRelationData, GetHashlistsByIdRelationshipsByRelationError, GetHashlistsByIdRelationshipsByRelationErrors, GetHashlistsByIdRelationshipsByRelationResponse, GetHashlistsByIdRelationshipsByRelationResponses, GetHashlistsByIdResponse, GetHashlistsByIdResponses, GetHashlistsCountData, GetHashlistsCountError, GetHashlistsCountErrors, GetHashlistsCountResponse, GetHashlistsCountResponses, GetHashlistsData, GetHashlistsError, GetHashlistsErrors, GetHashlistsResponse, GetHashlistsResponses, GetHashtypesByIdData, GetHashtypesByIdError, GetHashtypesByIdErrors, GetHashtypesByIdResponse, GetHashtypesByIdResponses, GetHashtypesCountData, GetHashtypesCountError, GetHashtypesCountErrors, GetHashtypesCountResponse, GetHashtypesCountResponses, GetHashtypesData, GetHashtypesError, GetHashtypesErrors, GetHashtypesResponse, GetHashtypesResponses, GetHealthcheckagentsByIdByRelationData, GetHealthcheckagentsByIdByRelationError, GetHealthcheckagentsByIdByRelationErrors, GetHealthcheckagentsByIdByRelationResponse, GetHealthcheckagentsByIdByRelationResponses, GetHealthcheckagentsByIdData, GetHealthcheckagentsByIdError, GetHealthcheckagentsByIdErrors, GetHealthcheckagentsByIdRelationshipsByRelationData, GetHealthcheckagentsByIdRelationshipsByRelationError, GetHealthcheckagentsByIdRelationshipsByRelationErrors, GetHealthcheckagentsByIdRelationshipsByRelationResponse, GetHealthcheckagentsByIdRelationshipsByRelationResponses, GetHealthcheckagentsByIdResponse, GetHealthcheckagentsByIdResponses, GetHealthcheckagentsCountData, GetHealthcheckagentsCountError, GetHealthcheckagentsCountErrors, GetHealthcheckagentsCountResponse, GetHealthcheckagentsCountResponses, GetHealthcheckagentsData, GetHealthcheckagentsError, GetHealthcheckagentsErrors, GetHealthcheckagentsResponse, GetHealthcheckagentsResponses, GetHealthchecksByIdByRelationData, GetHealthchecksByIdByRelationError, GetHealthchecksByIdByRelationErrors, GetHealthchecksByIdByRelationResponse, GetHealthchecksByIdByRelationResponses, GetHealthchecksByIdData, GetHealthchecksByIdError, GetHealthchecksByIdErrors, GetHealthchecksByIdRelationshipsByRelationData, GetHealthchecksByIdRelationshipsByRelationError, GetHealthchecksByIdRelationshipsByRelationErrors, GetHealthchecksByIdRelationshipsByRelationResponse, GetHealthchecksByIdRelationshipsByRelationResponses, GetHealthchecksByIdResponse, GetHealthchecksByIdResponses, GetHealthchecksCountData, GetHealthchecksCountError, GetHealthchecksCountErrors, GetHealthchecksCountResponse, GetHealthchecksCountResponses, GetHealthchecksData, GetHealthchecksError, GetHealthchecksErrors, GetHealthchecksResponse, GetHealthchecksResponses, GetImportFileData, GetImportFileResponses, GetLogentriesByIdData, GetLogentriesByIdError, GetLogentriesByIdErrors, GetLogentriesByIdResponse, GetLogentriesByIdResponses, GetLogentriesCountData, GetLogentriesCountError, GetLogentriesCountErrors, GetLogentriesCountResponse, GetLogentriesCountResponses, GetLogentriesData, GetLogentriesError, GetLogentriesErrors, GetLogentriesResponse, GetLogentriesResponses, GetNotificationsByIdByRelationData, GetNotificationsByIdByRelationError, GetNotificationsByIdByRelationErrors, GetNotificationsByIdByRelationResponse, GetNotificationsByIdByRelationResponses, GetNotificationsByIdData, GetNotificationsByIdError, GetNotificationsByIdErrors, GetNotificationsByIdRelationshipsByRelationData, GetNotificationsByIdRelationshipsByRelationError, GetNotificationsByIdRelationshipsByRelationErrors, GetNotificationsByIdRelationshipsByRelationResponse, GetNotificationsByIdRelationshipsByRelationResponses, GetNotificationsByIdResponse, GetNotificationsByIdResponses, GetNotificationsCountData, GetNotificationsCountError, GetNotificationsCountErrors, GetNotificationsCountResponse, GetNotificationsCountResponses, GetNotificationsData, GetNotificationsError, GetNotificationsErrors, GetNotificationsResponse, GetNotificationsResponses, GetPreprocessorsByIdData, GetPreprocessorsByIdError, GetPreprocessorsByIdErrors, GetPreprocessorsByIdResponse, GetPreprocessorsByIdResponses, GetPreprocessorsCountData, GetPreprocessorsCountError, GetPreprocessorsCountErrors, GetPreprocessorsCountResponse, GetPreprocessorsCountResponses, GetPreprocessorsData, GetPreprocessorsError, GetPreprocessorsErrors, GetPreprocessorsResponse, GetPreprocessorsResponses, GetPretasksByIdByRelationData, GetPretasksByIdByRelationError, GetPretasksByIdByRelationErrors, GetPretasksByIdByRelationResponse, GetPretasksByIdByRelationResponses, GetPretasksByIdData, GetPretasksByIdError, GetPretasksByIdErrors, GetPretasksByIdRelationshipsByRelationData, GetPretasksByIdRelationshipsByRelationError, GetPretasksByIdRelationshipsByRelationErrors, GetPretasksByIdRelationshipsByRelationResponse, GetPretasksByIdRelationshipsByRelationResponses, GetPretasksByIdResponse, GetPretasksByIdResponses, GetPretasksCountData, GetPretasksCountError, GetPretasksCountErrors, GetPretasksCountResponse, GetPretasksCountResponses, GetPretasksData, GetPretasksError, GetPretasksErrors, GetPretasksResponse, GetPretasksResponses, GetSpeedsByIdByRelationData, GetSpeedsByIdByRelationError, GetSpeedsByIdByRelationErrors, GetSpeedsByIdByRelationResponse, GetSpeedsByIdByRelationResponses, GetSpeedsByIdData, GetSpeedsByIdError, GetSpeedsByIdErrors, GetSpeedsByIdRelationshipsByRelationData, GetSpeedsByIdRelationshipsByRelationError, GetSpeedsByIdRelationshipsByRelationErrors, GetSpeedsByIdRelationshipsByRelationResponse, GetSpeedsByIdRelationshipsByRelationResponses, GetSpeedsByIdResponse, GetSpeedsByIdResponses, GetSpeedsCountData, GetSpeedsCountError, GetSpeedsCountErrors, GetSpeedsCountResponse, GetSpeedsCountResponses, GetSpeedsData, GetSpeedsError, GetSpeedsErrors, GetSpeedsResponse, GetSpeedsResponses, GetSupertasksByIdByRelationData, GetSupertasksByIdByRelationError, GetSupertasksByIdByRelationErrors, GetSupertasksByIdByRelationResponse, GetSupertasksByIdByRelationResponses, GetSupertasksByIdData, GetSupertasksByIdError, GetSupertasksByIdErrors, GetSupertasksByIdRelationshipsByRelationData, GetSupertasksByIdRelationshipsByRelationError, GetSupertasksByIdRelationshipsByRelationErrors, GetSupertasksByIdRelationshipsByRelationResponse, GetSupertasksByIdRelationshipsByRelationResponses, GetSupertasksByIdResponse, GetSupertasksByIdResponses, GetSupertasksCountData, GetSupertasksCountError, GetSupertasksCountErrors, GetSupertasksCountResponse, GetSupertasksCountResponses, GetSupertasksData, GetSupertasksError, GetSupertasksErrors, GetSupertasksResponse, GetSupertasksResponses, GetTasksByIdByRelationData, GetTasksByIdByRelationError, GetTasksByIdByRelationErrors, GetTasksByIdByRelationResponse, GetTasksByIdByRelationResponses, GetTasksByIdData, GetTasksByIdError, GetTasksByIdErrors, GetTasksByIdRelationshipsByRelationData, GetTasksByIdRelationshipsByRelationError, GetTasksByIdRelationshipsByRelationErrors, GetTasksByIdRelationshipsByRelationResponse, GetTasksByIdRelationshipsByRelationResponses, GetTasksByIdResponse, GetTasksByIdResponses, GetTasksCountData, GetTasksCountError, GetTasksCountErrors, GetTasksCountResponse, GetTasksCountResponses, GetTasksData, GetTasksError, GetTasksErrors, GetTasksResponse, GetTasksResponses, GetTaskwrappersByIdByRelationData, GetTaskwrappersByIdByRelationError, GetTaskwrappersByIdByRelationErrors, GetTaskwrappersByIdByRelationResponse, GetTaskwrappersByIdByRelationResponses, GetTaskwrappersByIdData, GetTaskwrappersByIdError, GetTaskwrappersByIdErrors, GetTaskwrappersByIdRelationshipsByRelationData, GetTaskwrappersByIdRelationshipsByRelationError, GetTaskwrappersByIdRelationshipsByRelationErrors, GetTaskwrappersByIdRelationshipsByRelationResponse, GetTaskwrappersByIdRelationshipsByRelationResponses, GetTaskwrappersByIdResponse, GetTaskwrappersByIdResponses, GetTaskwrappersCountData, GetTaskwrappersCountError, GetTaskwrappersCountErrors, GetTaskwrappersCountResponse, GetTaskwrappersCountResponses, GetTaskwrappersData, GetTaskwrappersError, GetTaskwrappersErrors, GetTaskwrappersResponse, GetTaskwrappersResponses, GetUsersByIdByRelationData, GetUsersByIdByRelationError, GetUsersByIdByRelationErrors, GetUsersByIdByRelationResponse, GetUsersByIdByRelationResponses, GetUsersByIdData, GetUsersByIdError, GetUsersByIdErrors, GetUsersByIdRelationshipsByRelationData, GetUsersByIdRelationshipsByRelationError, GetUsersByIdRelationshipsByRelationErrors, GetUsersByIdRelationshipsByRelationResponse, GetUsersByIdRelationshipsByRelationResponses, GetUsersByIdResponse, GetUsersByIdResponses, GetUsersCountData, GetUsersCountError, GetUsersCountErrors, GetUsersCountResponse, GetUsersCountResponses, GetUsersData, GetUsersError, GetUsersErrors, GetUsersResponse, GetUsersResponses, GetVouchersByIdData, GetVouchersByIdError, GetVouchersByIdErrors, GetVouchersByIdResponse, GetVouchersByIdResponses, GetVouchersCountData, GetVouchersCountError, GetVouchersCountErrors, GetVouchersCountResponse, GetVouchersCountResponses, GetVouchersData, GetVouchersError, GetVouchersErrors, GetVouchersResponse, GetVouchersResponses, GlobalPermissionGroupCreate, GlobalPermissionGroupListResponse, GlobalPermissionGroupPatch, GlobalPermissionGroupPostPatchResponse, GlobalPermissionGroupRelationUserMembers, GlobalPermissionGroupRelationUserMembersGetResponse, GlobalPermissionGroupResponse, HashlistCreate, HashlistListResponse, HashlistPatch, HashlistPostPatchResponse, HashlistRelationTasks, HashlistRelationTasksGetResponse, HashlistResponse, HashListResponse, HashlistSingleResponse, HashRelationHashlist, HashRelationHashlistGetResponse, HashResponse, HashTypeCreate, HashTypeListResponse, HashTypePatch, HashTypePostPatchResponse, HashTypeResponse, HeadImportFileById09aF32Data, HeadImportFileById09aF32Responses, HealthCheckAgentListResponse, HealthCheckAgentRelationHealthCheck, HealthCheckAgentRelationHealthCheckGetResponse, HealthCheckAgentResponse, HealthCheckCreate, HealthCheckListResponse, HealthCheckPatch, HealthCheckPostPatchResponse, HealthCheckRelationHealthCheckAgents, HealthCheckRelationHealthCheckAgentsGetResponse, HealthCheckResponse, ImportCrackedHashesHelperApi, ImportCrackedHashesHelperApiResponse, ImportFileHelperApi, LogEntryCreate, LogEntryListResponse, LogEntryPatch, LogEntryPostPatchResponse, LogEntryResponse, MaskSupertaskBuilderHelperApi, NotFoundResponse, NotificationSettingCreate, NotificationSettingListResponse, NotificationSettingPatch, NotificationSettingPostPatchResponse, NotificationSettingRelationUser, NotificationSettingRelationUserGetResponse, NotificationSettingResponse, PatchAccessgroupsByIdData, PatchAccessgroupsByIdError, PatchAccessgroupsByIdErrors, PatchAccessgroupsByIdRelationshipsByRelationData, PatchAccessgroupsByIdRelationshipsByRelationError, PatchAccessgroupsByIdRelationshipsByRelationErrors, PatchAccessgroupsByIdRelationshipsByRelationResponse, PatchAccessgroupsByIdRelationshipsByRelationResponses, PatchAccessgroupsByIdResponse, PatchAccessgroupsByIdResponses, PatchAccessgroupsData, PatchAccessgroupsError, PatchAccessgroupsErrors, PatchAccessgroupsResponses, PatchAgentassignmentsByIdData, PatchAgentassignmentsByIdError, PatchAgentassignmentsByIdErrors, PatchAgentassignmentsByIdRelationshipsByRelationData, PatchAgentassignmentsByIdRelationshipsByRelationError, PatchAgentassignmentsByIdRelationshipsByRelationErrors, PatchAgentassignmentsByIdRelationshipsByRelationResponse, PatchAgentassignmentsByIdRelationshipsByRelationResponses, PatchAgentassignmentsByIdResponse, PatchAgentassignmentsByIdResponses, PatchAgentassignmentsData, PatchAgentassignmentsError, PatchAgentassignmentsErrors, PatchAgentassignmentsResponses, PatchAgentbinariesByIdData, PatchAgentbinariesByIdError, PatchAgentbinariesByIdErrors, PatchAgentbinariesByIdResponse, PatchAgentbinariesByIdResponses, PatchAgentbinariesData, PatchAgentbinariesError, PatchAgentbinariesErrors, PatchAgentbinariesResponses, PatchAgenterrorsByIdRelationshipsByRelationData, PatchAgenterrorsByIdRelationshipsByRelationError, PatchAgenterrorsByIdRelationshipsByRelationErrors, PatchAgenterrorsByIdRelationshipsByRelationResponse, PatchAgenterrorsByIdRelationshipsByRelationResponses, PatchAgentsByIdData, PatchAgentsByIdError, PatchAgentsByIdErrors, PatchAgentsByIdRelationshipsByRelationData, PatchAgentsByIdRelationshipsByRelationError, PatchAgentsByIdRelationshipsByRelationErrors, PatchAgentsByIdRelationshipsByRelationResponse, PatchAgentsByIdRelationshipsByRelationResponses, PatchAgentsByIdResponse, PatchAgentsByIdResponses, PatchAgentsData, PatchAgentsError, PatchAgentsErrors, PatchAgentsResponses, PatchApiTokensByIdData, PatchApiTokensByIdError, PatchApiTokensByIdErrors, PatchApiTokensByIdRelationshipsByRelationData, PatchApiTokensByIdRelationshipsByRelationError, PatchApiTokensByIdRelationshipsByRelationErrors, PatchApiTokensByIdRelationshipsByRelationResponse, PatchApiTokensByIdRelationshipsByRelationResponses, PatchApiTokensByIdResponse, PatchApiTokensByIdResponses, PatchApiTokensData, PatchApiTokensError, PatchApiTokensErrors, PatchApiTokensResponses, PatchChunksByIdRelationshipsByRelationData, PatchChunksByIdRelationshipsByRelationError, PatchChunksByIdRelationshipsByRelationErrors, PatchChunksByIdRelationshipsByRelationResponse, PatchChunksByIdRelationshipsByRelationResponses, PatchConfigsByIdData, PatchConfigsByIdError, PatchConfigsByIdErrors, PatchConfigsByIdRelationshipsByRelationData, PatchConfigsByIdRelationshipsByRelationError, PatchConfigsByIdRelationshipsByRelationErrors, PatchConfigsByIdRelationshipsByRelationResponse, PatchConfigsByIdRelationshipsByRelationResponses, PatchConfigsByIdResponse, PatchConfigsByIdResponses, PatchConfigsData, PatchConfigsError, PatchConfigsErrors, PatchConfigsResponses, PatchCrackersByIdData, PatchCrackersByIdError, PatchCrackersByIdErrors, PatchCrackersByIdRelationshipsByRelationData, PatchCrackersByIdRelationshipsByRelationError, PatchCrackersByIdRelationshipsByRelationErrors, PatchCrackersByIdRelationshipsByRelationResponse, PatchCrackersByIdRelationshipsByRelationResponses, PatchCrackersByIdResponse, PatchCrackersByIdResponses, PatchCrackersData, PatchCrackersError, PatchCrackersErrors, PatchCrackersResponses, PatchCrackertypesByIdData, PatchCrackertypesByIdError, PatchCrackertypesByIdErrors, PatchCrackertypesByIdRelationshipsByRelationData, PatchCrackertypesByIdRelationshipsByRelationError, PatchCrackertypesByIdRelationshipsByRelationErrors, PatchCrackertypesByIdRelationshipsByRelationResponse, PatchCrackertypesByIdRelationshipsByRelationResponses, PatchCrackertypesByIdResponse, PatchCrackertypesByIdResponses, PatchCrackertypesData, PatchCrackertypesError, PatchCrackertypesErrors, PatchCrackertypesResponses, PatchCurrentUserData, PatchCurrentUserResponses, PatchFilesByIdData, PatchFilesByIdError, PatchFilesByIdErrors, PatchFilesByIdRelationshipsByRelationData, PatchFilesByIdRelationshipsByRelationError, PatchFilesByIdRelationshipsByRelationErrors, PatchFilesByIdRelationshipsByRelationResponse, PatchFilesByIdRelationshipsByRelationResponses, PatchFilesByIdResponse, PatchFilesByIdResponses, PatchFilesData, PatchFilesError, PatchFilesErrors, PatchFilesResponses, PatchGlobalpermissiongroupsByIdData, PatchGlobalpermissiongroupsByIdError, PatchGlobalpermissiongroupsByIdErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationData, PatchGlobalpermissiongroupsByIdRelationshipsByRelationError, PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PatchGlobalpermissiongroupsByIdResponse, PatchGlobalpermissiongroupsByIdResponses, PatchGlobalpermissiongroupsData, PatchGlobalpermissiongroupsError, PatchGlobalpermissiongroupsErrors, PatchGlobalpermissiongroupsResponses, PatchHashesByIdRelationshipsByRelationData, PatchHashesByIdRelationshipsByRelationError, PatchHashesByIdRelationshipsByRelationErrors, PatchHashesByIdRelationshipsByRelationResponse, PatchHashesByIdRelationshipsByRelationResponses, PatchHashlistsByIdData, PatchHashlistsByIdError, PatchHashlistsByIdErrors, PatchHashlistsByIdRelationshipsByRelationData, PatchHashlistsByIdRelationshipsByRelationError, PatchHashlistsByIdRelationshipsByRelationErrors, PatchHashlistsByIdRelationshipsByRelationResponse, PatchHashlistsByIdRelationshipsByRelationResponses, PatchHashlistsByIdResponse, PatchHashlistsByIdResponses, PatchHashlistsData, PatchHashlistsError, PatchHashlistsErrors, PatchHashlistsResponses, PatchHashtypesByIdData, PatchHashtypesByIdError, PatchHashtypesByIdErrors, PatchHashtypesByIdResponse, PatchHashtypesByIdResponses, PatchHashtypesData, PatchHashtypesError, PatchHashtypesErrors, PatchHashtypesResponses, PatchHealthcheckagentsByIdRelationshipsByRelationData, PatchHealthcheckagentsByIdRelationshipsByRelationError, PatchHealthcheckagentsByIdRelationshipsByRelationErrors, PatchHealthcheckagentsByIdRelationshipsByRelationResponse, PatchHealthcheckagentsByIdRelationshipsByRelationResponses, PatchHealthchecksByIdData, PatchHealthchecksByIdError, PatchHealthchecksByIdErrors, PatchHealthchecksByIdRelationshipsByRelationData, PatchHealthchecksByIdRelationshipsByRelationError, PatchHealthchecksByIdRelationshipsByRelationErrors, PatchHealthchecksByIdRelationshipsByRelationResponse, PatchHealthchecksByIdRelationshipsByRelationResponses, PatchHealthchecksByIdResponse, PatchHealthchecksByIdResponses, PatchHealthchecksData, PatchHealthchecksError, PatchHealthchecksErrors, PatchHealthchecksResponses, PatchImportFileById09aF32Data, PatchImportFileById09aF32Response, PatchImportFileById09aF32Responses, PatchLogentriesByIdData, PatchLogentriesByIdError, PatchLogentriesByIdErrors, PatchLogentriesByIdResponse, PatchLogentriesByIdResponses, PatchLogentriesData, PatchLogentriesError, PatchLogentriesErrors, PatchLogentriesResponses, PatchNotificationsByIdData, PatchNotificationsByIdError, PatchNotificationsByIdErrors, PatchNotificationsByIdRelationshipsByRelationData, PatchNotificationsByIdRelationshipsByRelationError, PatchNotificationsByIdRelationshipsByRelationErrors, PatchNotificationsByIdRelationshipsByRelationResponse, PatchNotificationsByIdRelationshipsByRelationResponses, PatchNotificationsByIdResponse, PatchNotificationsByIdResponses, PatchNotificationsData, PatchNotificationsError, PatchNotificationsErrors, PatchNotificationsResponses, PatchPreprocessorsByIdData, PatchPreprocessorsByIdError, PatchPreprocessorsByIdErrors, PatchPreprocessorsByIdResponse, PatchPreprocessorsByIdResponses, PatchPreprocessorsData, PatchPreprocessorsError, PatchPreprocessorsErrors, PatchPreprocessorsResponses, PatchPretasksByIdData, PatchPretasksByIdError, PatchPretasksByIdErrors, PatchPretasksByIdRelationshipsByRelationData, PatchPretasksByIdRelationshipsByRelationError, PatchPretasksByIdRelationshipsByRelationErrors, PatchPretasksByIdRelationshipsByRelationResponse, PatchPretasksByIdRelationshipsByRelationResponses, PatchPretasksByIdResponse, PatchPretasksByIdResponses, PatchPretasksData, PatchPretasksError, PatchPretasksErrors, PatchPretasksResponses, PatchSpeedsByIdRelationshipsByRelationData, PatchSpeedsByIdRelationshipsByRelationError, PatchSpeedsByIdRelationshipsByRelationErrors, PatchSpeedsByIdRelationshipsByRelationResponse, PatchSpeedsByIdRelationshipsByRelationResponses, PatchSupertasksByIdData, PatchSupertasksByIdError, PatchSupertasksByIdErrors, PatchSupertasksByIdRelationshipsByRelationData, PatchSupertasksByIdRelationshipsByRelationError, PatchSupertasksByIdRelationshipsByRelationErrors, PatchSupertasksByIdRelationshipsByRelationResponse, PatchSupertasksByIdRelationshipsByRelationResponses, PatchSupertasksByIdResponse, PatchSupertasksByIdResponses, PatchSupertasksData, PatchSupertasksError, PatchSupertasksErrors, PatchSupertasksResponses, PatchTasksByIdData, PatchTasksByIdError, PatchTasksByIdErrors, PatchTasksByIdRelationshipsByRelationData, PatchTasksByIdRelationshipsByRelationError, PatchTasksByIdRelationshipsByRelationErrors, PatchTasksByIdRelationshipsByRelationResponse, PatchTasksByIdRelationshipsByRelationResponses, PatchTasksByIdResponse, PatchTasksByIdResponses, PatchTasksData, PatchTasksError, PatchTasksErrors, PatchTasksResponses, PatchTaskwrappersByIdData, PatchTaskwrappersByIdError, PatchTaskwrappersByIdErrors, PatchTaskwrappersByIdRelationshipsByRelationData, PatchTaskwrappersByIdRelationshipsByRelationError, PatchTaskwrappersByIdRelationshipsByRelationErrors, PatchTaskwrappersByIdRelationshipsByRelationResponse, PatchTaskwrappersByIdRelationshipsByRelationResponses, PatchTaskwrappersByIdResponse, PatchTaskwrappersByIdResponses, PatchTaskwrappersData, PatchTaskwrappersError, PatchTaskwrappersErrors, PatchTaskwrappersResponses, PatchUsersByIdData, PatchUsersByIdError, PatchUsersByIdErrors, PatchUsersByIdRelationshipsByRelationData, PatchUsersByIdRelationshipsByRelationError, PatchUsersByIdRelationshipsByRelationErrors, PatchUsersByIdRelationshipsByRelationResponse, PatchUsersByIdRelationshipsByRelationResponses, PatchUsersByIdResponse, PatchUsersByIdResponses, PatchUsersData, PatchUsersError, PatchUsersErrors, PatchUsersResponses, PatchVouchersByIdData, PatchVouchersByIdError, PatchVouchersByIdErrors, PatchVouchersByIdResponse, PatchVouchersByIdResponses, PatchVouchersData, PatchVouchersError, PatchVouchersErrors, PatchVouchersResponses, PostAbortChunkData, PostAbortChunkResponse, PostAbortChunkResponses, PostAccessgroupsByIdRelationshipsByRelationData, PostAccessgroupsByIdRelationshipsByRelationError, PostAccessgroupsByIdRelationshipsByRelationErrors, PostAccessgroupsByIdRelationshipsByRelationResponse, PostAccessgroupsByIdRelationshipsByRelationResponses, PostAccessgroupsData, PostAccessgroupsError, PostAccessgroupsErrors, PostAccessgroupsResponse, PostAccessgroupsResponses, PostAgentassignmentsData, PostAgentassignmentsError, PostAgentassignmentsErrors, PostAgentassignmentsResponse, PostAgentassignmentsResponses, PostAgentbinariesData, PostAgentbinariesError, PostAgentbinariesErrors, PostAgentbinariesResponse, PostAgentbinariesResponses, PostAgentsByIdRelationshipsByRelationData, PostAgentsByIdRelationshipsByRelationError, PostAgentsByIdRelationshipsByRelationErrors, PostAgentsByIdRelationshipsByRelationResponse, PostAgentsByIdRelationshipsByRelationResponses, PostApiTokensData, PostApiTokensError, PostApiTokensErrors, PostApiTokensResponse, PostApiTokensResponses, PostAssignAgentData, PostAssignAgentResponse, PostAssignAgentResponses, PostBulkSupertaskBuilderData, PostBulkSupertaskBuilderResponse, PostBulkSupertaskBuilderResponses, PostChangeOwnPasswordData, PostChangeOwnPasswordResponse, PostChangeOwnPasswordResponses, PostCrackersByIdRelationshipsByRelationData, PostCrackersByIdRelationshipsByRelationError, PostCrackersByIdRelationshipsByRelationErrors, PostCrackersByIdRelationshipsByRelationResponse, PostCrackersByIdRelationshipsByRelationResponses, PostCrackersData, PostCrackersError, PostCrackersErrors, PostCrackersResponse, PostCrackersResponses, PostCrackertypesByIdRelationshipsByRelationData, PostCrackertypesByIdRelationshipsByRelationError, PostCrackertypesByIdRelationshipsByRelationErrors, PostCrackertypesByIdRelationshipsByRelationResponse, PostCrackertypesByIdRelationshipsByRelationResponses, PostCrackertypesData, PostCrackertypesError, PostCrackertypesErrors, PostCrackertypesResponse, PostCrackertypesResponses, PostCreateSuperHashlistData, PostCreateSuperHashlistResponse, PostCreateSuperHashlistResponses, PostCreateSupertaskData, PostCreateSupertaskResponse, PostCreateSupertaskResponses, PostExportCrackedHashesData, PostExportCrackedHashesResponse, PostExportCrackedHashesResponses, PostExportLeftHashesData, PostExportLeftHashesResponse, PostExportLeftHashesResponses, PostExportWordlistData, PostExportWordlistResponse, PostExportWordlistResponses, PostFilesData, PostFilesError, PostFilesErrors, PostFilesResponse, PostFilesResponses, PostGlobalpermissiongroupsByIdRelationshipsByRelationData, PostGlobalpermissiongroupsByIdRelationshipsByRelationError, PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse, PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses, PostGlobalpermissiongroupsData, PostGlobalpermissiongroupsError, PostGlobalpermissiongroupsErrors, PostGlobalpermissiongroupsResponse, PostGlobalpermissiongroupsResponses, PostHashlistsByIdRelationshipsByRelationData, PostHashlistsByIdRelationshipsByRelationError, PostHashlistsByIdRelationshipsByRelationErrors, PostHashlistsByIdRelationshipsByRelationResponse, PostHashlistsByIdRelationshipsByRelationResponses, PostHashlistsData, PostHashlistsError, PostHashlistsErrors, PostHashlistsResponse, PostHashlistsResponses, PostHashtypesData, PostHashtypesError, PostHashtypesErrors, PostHashtypesResponse, PostHashtypesResponses, PostHealthchecksByIdRelationshipsByRelationData, PostHealthchecksByIdRelationshipsByRelationError, PostHealthchecksByIdRelationshipsByRelationErrors, PostHealthchecksByIdRelationshipsByRelationResponse, PostHealthchecksByIdRelationshipsByRelationResponses, PostHealthchecksData, PostHealthchecksError, PostHealthchecksErrors, PostHealthchecksResponse, PostHealthchecksResponses, PostImportCrackedHashesData, PostImportCrackedHashesResponse, PostImportCrackedHashesResponses, PostImportFileData, PostImportFileResponse, PostImportFileResponses, PostLogentriesData, PostLogentriesError, PostLogentriesErrors, PostLogentriesResponse, PostLogentriesResponses, PostMaskSupertaskBuilderData, PostMaskSupertaskBuilderResponse, PostMaskSupertaskBuilderResponses, PostNotificationsData, PostNotificationsError, PostNotificationsErrors, PostNotificationsResponse, PostNotificationsResponses, PostPreprocessorsData, PostPreprocessorsError, PostPreprocessorsErrors, PostPreprocessorsResponse, PostPreprocessorsResponses, PostPretasksByIdRelationshipsByRelationData, PostPretasksByIdRelationshipsByRelationError, PostPretasksByIdRelationshipsByRelationErrors, PostPretasksByIdRelationshipsByRelationResponse, PostPretasksByIdRelationshipsByRelationResponses, PostPretasksData, PostPretasksError, PostPretasksErrors, PostPretasksResponse, PostPretasksResponses, PostPurgeTaskData, PostPurgeTaskResponse, PostPurgeTaskResponses, PostRebuildChunkCacheData, PostRebuildChunkCacheResponse, PostRebuildChunkCacheResponses, PostRecountFileLinesData, PostRecountFileLinesResponse, PostRecountFileLinesResponses, PostRescanGlobalFilesData, PostRescanGlobalFilesResponse, PostRescanGlobalFilesResponses, PostResetChunkData, PostResetChunkResponse, PostResetChunkResponses, PostResetUserPasswordData, PostResetUserPasswordResponse, PostResetUserPasswordResponses, PostSearchHashesData, PostSearchHashesResponse, PostSearchHashesResponses, PostSetUserPasswordData, PostSetUserPasswordResponse, PostSetUserPasswordResponses, PostSupertasksByIdRelationshipsByRelationData, PostSupertasksByIdRelationshipsByRelationError, PostSupertasksByIdRelationshipsByRelationErrors, PostSupertasksByIdRelationshipsByRelationResponse, PostSupertasksByIdRelationshipsByRelationResponses, PostSupertasksData, PostSupertasksError, PostSupertasksErrors, PostSupertasksResponse, PostSupertasksResponses, PostTasksByIdRelationshipsByRelationData, PostTasksByIdRelationshipsByRelationError, PostTasksByIdRelationshipsByRelationErrors, PostTasksByIdRelationshipsByRelationResponse, PostTasksByIdRelationshipsByRelationResponses, PostTasksData, PostTasksError, PostTasksErrors, PostTasksResponse, PostTasksResponses, PostTaskwrappersByIdRelationshipsByRelationData, PostTaskwrappersByIdRelationshipsByRelationError, PostTaskwrappersByIdRelationshipsByRelationErrors, PostTaskwrappersByIdRelationshipsByRelationResponse, PostTaskwrappersByIdRelationshipsByRelationResponses, PostTokenData, PostTokenError, PostTokenErrors, PostTokenResponse, PostTokenResponses, PostUnassignAgentData, PostUnassignAgentResponse, PostUnassignAgentResponses, PostUsersByIdRelationshipsByRelationData, PostUsersByIdRelationshipsByRelationError, PostUsersByIdRelationshipsByRelationErrors, PostUsersByIdRelationshipsByRelationResponse, PostUsersByIdRelationshipsByRelationResponses, PostUsersData, PostUsersError, PostUsersErrors, PostUsersResponse, PostUsersResponses, PostVouchersData, PostVouchersError, PostVouchersErrors, PostVouchersResponse, PostVouchersResponses, PreprocessorCreate, PreprocessorListResponse, PreprocessorPatch, PreprocessorPostPatchResponse, PreprocessorResponse, PreTaskCreate, PreTaskListResponse, PreTaskPatch, PreTaskPostPatchResponse, PreTaskRelationPretaskFiles, PreTaskRelationPretaskFilesGetResponse, PreTaskResponse, PurgeTaskHelperApi, PurgeTaskHelperApiResponse, RebuildChunkCacheHelperApi, RebuildChunkCacheHelperApiResponse, RecountFileLinesHelperApi, RescanGlobalFilesHelperApi, RescanGlobalFilesHelperApiResponse, ResetChunkHelperApi, ResetChunkHelperApiResponse, ResetUserPasswordHelperApi, ResetUserPasswordHelperApiResponse, SearchHashesHelperApi, SearchHashesHelperApiResponse, SetUserPasswordHelperApi, SetUserPasswordHelperApiResponse, SpeedListResponse, SpeedRelationTask, SpeedRelationTaskGetResponse, SpeedResponse, SupertaskCreate, SupertaskListResponse, SupertaskPatch, SupertaskPostPatchResponse, SupertaskRelationPretasks, SupertaskRelationPretasksGetResponse, SupertaskResponse, SupertaskSingleResponse, TaskCreate, TaskListResponse, TaskPatch, TaskPostPatchResponse, TaskRelationSpeeds, TaskRelationSpeedsGetResponse, TaskResponse, TaskWrapperListResponse, TaskWrapperPatch, TaskWrapperPostPatchResponse, TaskWrapperRelationTasks, TaskWrapperRelationTasksGetResponse, TaskWrapperResponse, TaskWrapperSingleResponse, Token, TokenRequest, UnassignAgentHelperApi, UnassignAgentHelperApiResponse, UserCreate, UserListResponse, UserPatch, UserPostPatchResponse, UserRelationAccessGroups, UserRelationAccessGroupsGetResponse, UserResponse, VoucherCreate, VoucherListResponse, VoucherPatch, VoucherPostPatchResponse, VoucherResponse } from './types.gen'; +export type { + AbortChunkHelperApi, + AbortChunkHelperApiResponse, + AccessGroupCreate, + AccessGroupListResponse, + AccessGroupPatch, + AccessGroupPostPatchResponse, + AccessGroupRelationAgentMembers, + AccessGroupRelationAgentMembersGetResponse, + AccessGroupResponse, + AgentAssignmentCreate, + AgentAssignmentListResponse, + AgentAssignmentPatch, + AgentAssignmentPostPatchResponse, + AgentAssignmentRelationTask, + AgentAssignmentRelationTaskGetResponse, + AgentAssignmentResponse, + AgentBinaryCreate, + AgentBinaryListResponse, + AgentBinaryPatch, + AgentBinaryPostPatchResponse, + AgentBinaryResponse, + AgentErrorListResponse, + AgentErrorRelationTask, + AgentErrorRelationTaskGetResponse, + AgentErrorResponse, + AgentListResponse, + AgentPatch, + AgentPostPatchResponse, + AgentRelationAssignments, + AgentRelationAssignmentsGetResponse, + AgentResponse, + AgentStatListResponse, + AgentStatResponse, + ApiTokenCreate, + ApiTokenListResponse, + ApiTokenPatch, + ApiTokenPostPatchResponse, + ApiTokenRelationUser, + ApiTokenRelationUserGetResponse, + ApiTokenResponse, + AssignAgentHelperApi, + AssignAgentHelperApiResponse, + BulkSupertaskBuilderHelperApi, + ChangeOwnPasswordHelperApi, + ChangeOwnPasswordHelperApiResponse, + ChunkListResponse, + ChunkRelationTask, + ChunkRelationTaskGetResponse, + ChunkResponse, + ClientOptions, + ConfigListResponse, + ConfigPatch, + ConfigPostPatchResponse, + ConfigRelationConfigSection, + ConfigRelationConfigSectionGetResponse, + ConfigResponse, + ConfigSectionListResponse, + ConfigSectionResponse, + CrackerBinaryCreate, + CrackerBinaryListResponse, + CrackerBinaryPatch, + CrackerBinaryPostPatchResponse, + CrackerBinaryRelationTasks, + CrackerBinaryRelationTasksGetResponse, + CrackerBinaryResponse, + CrackerBinaryTypeCreate, + CrackerBinaryTypeListResponse, + CrackerBinaryTypePatch, + CrackerBinaryTypePostPatchResponse, + CrackerBinaryTypeRelationTasks, + CrackerBinaryTypeRelationTasksGetResponse, + CrackerBinaryTypeResponse, + CreateSuperHashlistHelperApi, + CreateSupertaskHelperApi, + DeleteAccessgroupsByIdData, + DeleteAccessgroupsByIdError, + DeleteAccessgroupsByIdErrors, + DeleteAccessgroupsByIdRelationshipsByRelationData, + DeleteAccessgroupsByIdRelationshipsByRelationError, + DeleteAccessgroupsByIdRelationshipsByRelationErrors, + DeleteAccessgroupsByIdRelationshipsByRelationResponse, + DeleteAccessgroupsByIdRelationshipsByRelationResponses, + DeleteAccessgroupsByIdResponse, + DeleteAccessgroupsByIdResponses, + DeleteAccessgroupsData, + DeleteAccessgroupsError, + DeleteAccessgroupsErrors, + DeleteAccessgroupsResponses, + DeleteAgentassignmentsByIdData, + DeleteAgentassignmentsByIdError, + DeleteAgentassignmentsByIdErrors, + DeleteAgentassignmentsByIdResponse, + DeleteAgentassignmentsByIdResponses, + DeleteAgentassignmentsData, + DeleteAgentassignmentsError, + DeleteAgentassignmentsErrors, + DeleteAgentassignmentsResponses, + DeleteAgentbinariesByIdData, + DeleteAgentbinariesByIdError, + DeleteAgentbinariesByIdErrors, + DeleteAgentbinariesByIdResponse, + DeleteAgentbinariesByIdResponses, + DeleteAgentbinariesData, + DeleteAgentbinariesError, + DeleteAgentbinariesErrors, + DeleteAgentbinariesResponses, + DeleteAgenterrorsByIdData, + DeleteAgenterrorsByIdError, + DeleteAgenterrorsByIdErrors, + DeleteAgenterrorsByIdResponse, + DeleteAgenterrorsByIdResponses, + DeleteAgenterrorsData, + DeleteAgenterrorsError, + DeleteAgenterrorsErrors, + DeleteAgenterrorsResponses, + DeleteAgentsByIdData, + DeleteAgentsByIdError, + DeleteAgentsByIdErrors, + DeleteAgentsByIdRelationshipsByRelationData, + DeleteAgentsByIdRelationshipsByRelationError, + DeleteAgentsByIdRelationshipsByRelationErrors, + DeleteAgentsByIdRelationshipsByRelationResponse, + DeleteAgentsByIdRelationshipsByRelationResponses, + DeleteAgentsByIdResponse, + DeleteAgentsByIdResponses, + DeleteAgentsData, + DeleteAgentsError, + DeleteAgentsErrors, + DeleteAgentsResponses, + DeleteAgentstatsByIdData, + DeleteAgentstatsByIdError, + DeleteAgentstatsByIdErrors, + DeleteAgentstatsByIdResponse, + DeleteAgentstatsByIdResponses, + DeleteAgentstatsData, + DeleteAgentstatsError, + DeleteAgentstatsErrors, + DeleteAgentstatsResponses, + DeleteApiTokensByIdData, + DeleteApiTokensByIdError, + DeleteApiTokensByIdErrors, + DeleteApiTokensByIdResponse, + DeleteApiTokensByIdResponses, + DeleteApiTokensData, + DeleteApiTokensError, + DeleteApiTokensErrors, + DeleteApiTokensResponses, + DeleteCrackersByIdData, + DeleteCrackersByIdError, + DeleteCrackersByIdErrors, + DeleteCrackersByIdRelationshipsByRelationData, + DeleteCrackersByIdRelationshipsByRelationError, + DeleteCrackersByIdRelationshipsByRelationErrors, + DeleteCrackersByIdRelationshipsByRelationResponse, + DeleteCrackersByIdRelationshipsByRelationResponses, + DeleteCrackersByIdResponse, + DeleteCrackersByIdResponses, + DeleteCrackersData, + DeleteCrackersError, + DeleteCrackersErrors, + DeleteCrackersResponses, + DeleteCrackertypesByIdData, + DeleteCrackertypesByIdError, + DeleteCrackertypesByIdErrors, + DeleteCrackertypesByIdRelationshipsByRelationData, + DeleteCrackertypesByIdRelationshipsByRelationError, + DeleteCrackertypesByIdRelationshipsByRelationErrors, + DeleteCrackertypesByIdRelationshipsByRelationResponse, + DeleteCrackertypesByIdRelationshipsByRelationResponses, + DeleteCrackertypesByIdResponse, + DeleteCrackertypesByIdResponses, + DeleteCrackertypesData, + DeleteCrackertypesError, + DeleteCrackertypesErrors, + DeleteCrackertypesResponses, + DeleteFilesByIdData, + DeleteFilesByIdError, + DeleteFilesByIdErrors, + DeleteFilesByIdResponse, + DeleteFilesByIdResponses, + DeleteFilesData, + DeleteFilesError, + DeleteFilesErrors, + DeleteFilesResponses, + DeleteGlobalpermissiongroupsByIdData, + DeleteGlobalpermissiongroupsByIdError, + DeleteGlobalpermissiongroupsByIdErrors, + DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData, + DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError, + DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors, + DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse, + DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses, + DeleteGlobalpermissiongroupsByIdResponse, + DeleteGlobalpermissiongroupsByIdResponses, + DeleteGlobalpermissiongroupsData, + DeleteGlobalpermissiongroupsError, + DeleteGlobalpermissiongroupsErrors, + DeleteGlobalpermissiongroupsResponses, + DeleteHashlistsByIdData, + DeleteHashlistsByIdError, + DeleteHashlistsByIdErrors, + DeleteHashlistsByIdRelationshipsByRelationData, + DeleteHashlistsByIdRelationshipsByRelationError, + DeleteHashlistsByIdRelationshipsByRelationErrors, + DeleteHashlistsByIdRelationshipsByRelationResponse, + DeleteHashlistsByIdRelationshipsByRelationResponses, + DeleteHashlistsByIdResponse, + DeleteHashlistsByIdResponses, + DeleteHashlistsData, + DeleteHashlistsError, + DeleteHashlistsErrors, + DeleteHashlistsResponses, + DeleteHashtypesByIdData, + DeleteHashtypesByIdError, + DeleteHashtypesByIdErrors, + DeleteHashtypesByIdResponse, + DeleteHashtypesByIdResponses, + DeleteHashtypesData, + DeleteHashtypesError, + DeleteHashtypesErrors, + DeleteHashtypesResponses, + DeleteHealthchecksByIdData, + DeleteHealthchecksByIdError, + DeleteHealthchecksByIdErrors, + DeleteHealthchecksByIdRelationshipsByRelationData, + DeleteHealthchecksByIdRelationshipsByRelationError, + DeleteHealthchecksByIdRelationshipsByRelationErrors, + DeleteHealthchecksByIdRelationshipsByRelationResponse, + DeleteHealthchecksByIdRelationshipsByRelationResponses, + DeleteHealthchecksByIdResponse, + DeleteHealthchecksByIdResponses, + DeleteHealthchecksData, + DeleteHealthchecksError, + DeleteHealthchecksErrors, + DeleteHealthchecksResponses, + DeleteImportFileById09aF32Data, + DeleteImportFileById09aF32Responses, + DeleteLogentriesByIdData, + DeleteLogentriesByIdError, + DeleteLogentriesByIdErrors, + DeleteLogentriesByIdResponse, + DeleteLogentriesByIdResponses, + DeleteLogentriesData, + DeleteLogentriesError, + DeleteLogentriesErrors, + DeleteLogentriesResponses, + DeleteNotificationsByIdData, + DeleteNotificationsByIdError, + DeleteNotificationsByIdErrors, + DeleteNotificationsByIdResponse, + DeleteNotificationsByIdResponses, + DeleteNotificationsData, + DeleteNotificationsError, + DeleteNotificationsErrors, + DeleteNotificationsResponses, + DeletePreprocessorsByIdData, + DeletePreprocessorsByIdError, + DeletePreprocessorsByIdErrors, + DeletePreprocessorsByIdResponse, + DeletePreprocessorsByIdResponses, + DeletePreprocessorsData, + DeletePreprocessorsError, + DeletePreprocessorsErrors, + DeletePreprocessorsResponses, + DeletePretasksByIdData, + DeletePretasksByIdError, + DeletePretasksByIdErrors, + DeletePretasksByIdRelationshipsByRelationData, + DeletePretasksByIdRelationshipsByRelationError, + DeletePretasksByIdRelationshipsByRelationErrors, + DeletePretasksByIdRelationshipsByRelationResponse, + DeletePretasksByIdRelationshipsByRelationResponses, + DeletePretasksByIdResponse, + DeletePretasksByIdResponses, + DeletePretasksData, + DeletePretasksError, + DeletePretasksErrors, + DeletePretasksResponses, + DeleteSupertasksByIdData, + DeleteSupertasksByIdError, + DeleteSupertasksByIdErrors, + DeleteSupertasksByIdRelationshipsByRelationData, + DeleteSupertasksByIdRelationshipsByRelationError, + DeleteSupertasksByIdRelationshipsByRelationErrors, + DeleteSupertasksByIdRelationshipsByRelationResponse, + DeleteSupertasksByIdRelationshipsByRelationResponses, + DeleteSupertasksByIdResponse, + DeleteSupertasksByIdResponses, + DeleteSupertasksData, + DeleteSupertasksError, + DeleteSupertasksErrors, + DeleteSupertasksResponses, + DeleteTasksByIdData, + DeleteTasksByIdError, + DeleteTasksByIdErrors, + DeleteTasksByIdRelationshipsByRelationData, + DeleteTasksByIdRelationshipsByRelationError, + DeleteTasksByIdRelationshipsByRelationErrors, + DeleteTasksByIdRelationshipsByRelationResponse, + DeleteTasksByIdRelationshipsByRelationResponses, + DeleteTasksByIdResponse, + DeleteTasksByIdResponses, + DeleteTasksData, + DeleteTasksError, + DeleteTasksErrors, + DeleteTasksResponses, + DeleteTaskwrappersByIdData, + DeleteTaskwrappersByIdError, + DeleteTaskwrappersByIdErrors, + DeleteTaskwrappersByIdRelationshipsByRelationData, + DeleteTaskwrappersByIdRelationshipsByRelationError, + DeleteTaskwrappersByIdRelationshipsByRelationErrors, + DeleteTaskwrappersByIdRelationshipsByRelationResponse, + DeleteTaskwrappersByIdRelationshipsByRelationResponses, + DeleteTaskwrappersByIdResponse, + DeleteTaskwrappersByIdResponses, + DeleteTaskwrappersData, + DeleteTaskwrappersError, + DeleteTaskwrappersErrors, + DeleteTaskwrappersResponses, + DeleteUsersByIdData, + DeleteUsersByIdError, + DeleteUsersByIdErrors, + DeleteUsersByIdRelationshipsByRelationData, + DeleteUsersByIdRelationshipsByRelationError, + DeleteUsersByIdRelationshipsByRelationErrors, + DeleteUsersByIdRelationshipsByRelationResponse, + DeleteUsersByIdRelationshipsByRelationResponses, + DeleteUsersByIdResponse, + DeleteUsersByIdResponses, + DeleteUsersData, + DeleteUsersError, + DeleteUsersErrors, + DeleteUsersResponses, + DeleteVouchersByIdData, + DeleteVouchersByIdError, + DeleteVouchersByIdErrors, + DeleteVouchersByIdResponse, + DeleteVouchersByIdResponses, + DeleteVouchersData, + DeleteVouchersError, + DeleteVouchersErrors, + DeleteVouchersResponses, + ErrorResponse, + ExportCrackedHashesHelperApi, + ExportLeftHashesHelperApi, + ExportWordlistHelperApi, + FileCreate, + FileListResponse, + FilePatch, + FilePostPatchResponse, + FileRelationAccessGroup, + FileRelationAccessGroupGetResponse, + FileResponse, + FileSingleResponse, + GetAccessgroupsByIdByRelationData, + GetAccessgroupsByIdByRelationError, + GetAccessgroupsByIdByRelationErrors, + GetAccessgroupsByIdByRelationResponse, + GetAccessgroupsByIdByRelationResponses, + GetAccessgroupsByIdData, + GetAccessgroupsByIdError, + GetAccessgroupsByIdErrors, + GetAccessgroupsByIdRelationshipsByRelationData, + GetAccessgroupsByIdRelationshipsByRelationError, + GetAccessgroupsByIdRelationshipsByRelationErrors, + GetAccessgroupsByIdRelationshipsByRelationResponse, + GetAccessgroupsByIdRelationshipsByRelationResponses, + GetAccessgroupsByIdResponse, + GetAccessgroupsByIdResponses, + GetAccessgroupsCountData, + GetAccessgroupsCountError, + GetAccessgroupsCountErrors, + GetAccessgroupsCountResponse, + GetAccessgroupsCountResponses, + GetAccessgroupsData, + GetAccessgroupsError, + GetAccessgroupsErrors, + GetAccessgroupsResponse, + GetAccessgroupsResponses, + GetAgentassignmentsByIdByRelationData, + GetAgentassignmentsByIdByRelationError, + GetAgentassignmentsByIdByRelationErrors, + GetAgentassignmentsByIdByRelationResponse, + GetAgentassignmentsByIdByRelationResponses, + GetAgentassignmentsByIdData, + GetAgentassignmentsByIdError, + GetAgentassignmentsByIdErrors, + GetAgentassignmentsByIdRelationshipsByRelationData, + GetAgentassignmentsByIdRelationshipsByRelationError, + GetAgentassignmentsByIdRelationshipsByRelationErrors, + GetAgentassignmentsByIdRelationshipsByRelationResponse, + GetAgentassignmentsByIdRelationshipsByRelationResponses, + GetAgentassignmentsByIdResponse, + GetAgentassignmentsByIdResponses, + GetAgentassignmentsCountData, + GetAgentassignmentsCountError, + GetAgentassignmentsCountErrors, + GetAgentassignmentsCountResponse, + GetAgentassignmentsCountResponses, + GetAgentassignmentsData, + GetAgentassignmentsError, + GetAgentassignmentsErrors, + GetAgentassignmentsResponse, + GetAgentassignmentsResponses, + GetAgentbinariesByIdData, + GetAgentbinariesByIdError, + GetAgentbinariesByIdErrors, + GetAgentbinariesByIdResponse, + GetAgentbinariesByIdResponses, + GetAgentbinariesCountData, + GetAgentbinariesCountError, + GetAgentbinariesCountErrors, + GetAgentbinariesCountResponse, + GetAgentbinariesCountResponses, + GetAgentbinariesData, + GetAgentbinariesError, + GetAgentbinariesErrors, + GetAgentbinariesResponse, + GetAgentbinariesResponses, + GetAgenterrorsByIdByRelationData, + GetAgenterrorsByIdByRelationError, + GetAgenterrorsByIdByRelationErrors, + GetAgenterrorsByIdByRelationResponse, + GetAgenterrorsByIdByRelationResponses, + GetAgenterrorsByIdData, + GetAgenterrorsByIdError, + GetAgenterrorsByIdErrors, + GetAgenterrorsByIdRelationshipsByRelationData, + GetAgenterrorsByIdRelationshipsByRelationError, + GetAgenterrorsByIdRelationshipsByRelationErrors, + GetAgenterrorsByIdRelationshipsByRelationResponse, + GetAgenterrorsByIdRelationshipsByRelationResponses, + GetAgenterrorsByIdResponse, + GetAgenterrorsByIdResponses, + GetAgenterrorsCountData, + GetAgenterrorsCountError, + GetAgenterrorsCountErrors, + GetAgenterrorsCountResponse, + GetAgenterrorsCountResponses, + GetAgenterrorsData, + GetAgenterrorsError, + GetAgenterrorsErrors, + GetAgenterrorsResponse, + GetAgenterrorsResponses, + GetAgentsByIdByRelationData, + GetAgentsByIdByRelationError, + GetAgentsByIdByRelationErrors, + GetAgentsByIdByRelationResponse, + GetAgentsByIdByRelationResponses, + GetAgentsByIdData, + GetAgentsByIdError, + GetAgentsByIdErrors, + GetAgentsByIdRelationshipsByRelationData, + GetAgentsByIdRelationshipsByRelationError, + GetAgentsByIdRelationshipsByRelationErrors, + GetAgentsByIdRelationshipsByRelationResponse, + GetAgentsByIdRelationshipsByRelationResponses, + GetAgentsByIdResponse, + GetAgentsByIdResponses, + GetAgentsCountData, + GetAgentsCountError, + GetAgentsCountErrors, + GetAgentsCountResponse, + GetAgentsCountResponses, + GetAgentsData, + GetAgentsError, + GetAgentsErrors, + GetAgentsResponse, + GetAgentsResponses, + GetAgentstatsByIdData, + GetAgentstatsByIdError, + GetAgentstatsByIdErrors, + GetAgentstatsByIdResponse, + GetAgentstatsByIdResponses, + GetAgentstatsCountData, + GetAgentstatsCountError, + GetAgentstatsCountErrors, + GetAgentstatsCountResponse, + GetAgentstatsCountResponses, + GetAgentstatsData, + GetAgentstatsError, + GetAgentstatsErrors, + GetAgentstatsResponse, + GetAgentstatsResponses, + GetApiTokensByIdByRelationData, + GetApiTokensByIdByRelationError, + GetApiTokensByIdByRelationErrors, + GetApiTokensByIdByRelationResponse, + GetApiTokensByIdByRelationResponses, + GetApiTokensByIdData, + GetApiTokensByIdError, + GetApiTokensByIdErrors, + GetApiTokensByIdRelationshipsByRelationData, + GetApiTokensByIdRelationshipsByRelationError, + GetApiTokensByIdRelationshipsByRelationErrors, + GetApiTokensByIdRelationshipsByRelationResponse, + GetApiTokensByIdRelationshipsByRelationResponses, + GetApiTokensByIdResponse, + GetApiTokensByIdResponses, + GetApiTokensCountData, + GetApiTokensCountError, + GetApiTokensCountErrors, + GetApiTokensCountResponse, + GetApiTokensCountResponses, + GetApiTokensData, + GetApiTokensError, + GetApiTokensErrors, + GetApiTokensResponse, + GetApiTokensResponses, + GetChunksByIdByRelationData, + GetChunksByIdByRelationError, + GetChunksByIdByRelationErrors, + GetChunksByIdByRelationResponse, + GetChunksByIdByRelationResponses, + GetChunksByIdData, + GetChunksByIdError, + GetChunksByIdErrors, + GetChunksByIdRelationshipsByRelationData, + GetChunksByIdRelationshipsByRelationError, + GetChunksByIdRelationshipsByRelationErrors, + GetChunksByIdRelationshipsByRelationResponse, + GetChunksByIdRelationshipsByRelationResponses, + GetChunksByIdResponse, + GetChunksByIdResponses, + GetChunksCountData, + GetChunksCountError, + GetChunksCountErrors, + GetChunksCountResponse, + GetChunksCountResponses, + GetChunksData, + GetChunksError, + GetChunksErrors, + GetChunksResponse, + GetChunksResponses, + GetConfigsByIdByRelationData, + GetConfigsByIdByRelationError, + GetConfigsByIdByRelationErrors, + GetConfigsByIdByRelationResponse, + GetConfigsByIdByRelationResponses, + GetConfigsByIdData, + GetConfigsByIdError, + GetConfigsByIdErrors, + GetConfigsByIdRelationshipsByRelationData, + GetConfigsByIdRelationshipsByRelationError, + GetConfigsByIdRelationshipsByRelationErrors, + GetConfigsByIdRelationshipsByRelationResponse, + GetConfigsByIdRelationshipsByRelationResponses, + GetConfigsByIdResponse, + GetConfigsByIdResponses, + GetConfigsCountData, + GetConfigsCountError, + GetConfigsCountErrors, + GetConfigsCountResponse, + GetConfigsCountResponses, + GetConfigsData, + GetConfigsectionsByIdData, + GetConfigsectionsByIdError, + GetConfigsectionsByIdErrors, + GetConfigsectionsByIdResponse, + GetConfigsectionsByIdResponses, + GetConfigsectionsCountData, + GetConfigsectionsCountError, + GetConfigsectionsCountErrors, + GetConfigsectionsCountResponse, + GetConfigsectionsCountResponses, + GetConfigsectionsData, + GetConfigsectionsError, + GetConfigsectionsErrors, + GetConfigsectionsResponse, + GetConfigsectionsResponses, + GetConfigsError, + GetConfigsErrors, + GetConfigsResponse, + GetConfigsResponses, + GetCrackersByIdByRelationData, + GetCrackersByIdByRelationError, + GetCrackersByIdByRelationErrors, + GetCrackersByIdByRelationResponse, + GetCrackersByIdByRelationResponses, + GetCrackersByIdData, + GetCrackersByIdError, + GetCrackersByIdErrors, + GetCrackersByIdRelationshipsByRelationData, + GetCrackersByIdRelationshipsByRelationError, + GetCrackersByIdRelationshipsByRelationErrors, + GetCrackersByIdRelationshipsByRelationResponse, + GetCrackersByIdRelationshipsByRelationResponses, + GetCrackersByIdResponse, + GetCrackersByIdResponses, + GetCrackersCountData, + GetCrackersCountError, + GetCrackersCountErrors, + GetCrackersCountResponse, + GetCrackersCountResponses, + GetCrackersData, + GetCrackersError, + GetCrackersErrors, + GetCrackersResponse, + GetCrackersResponses, + GetCrackertypesByIdByRelationData, + GetCrackertypesByIdByRelationError, + GetCrackertypesByIdByRelationErrors, + GetCrackertypesByIdByRelationResponse, + GetCrackertypesByIdByRelationResponses, + GetCrackertypesByIdData, + GetCrackertypesByIdError, + GetCrackertypesByIdErrors, + GetCrackertypesByIdRelationshipsByRelationData, + GetCrackertypesByIdRelationshipsByRelationError, + GetCrackertypesByIdRelationshipsByRelationErrors, + GetCrackertypesByIdRelationshipsByRelationResponse, + GetCrackertypesByIdRelationshipsByRelationResponses, + GetCrackertypesByIdResponse, + GetCrackertypesByIdResponses, + GetCrackertypesCountData, + GetCrackertypesCountError, + GetCrackertypesCountErrors, + GetCrackertypesCountResponse, + GetCrackertypesCountResponses, + GetCrackertypesData, + GetCrackertypesError, + GetCrackertypesErrors, + GetCrackertypesResponse, + GetCrackertypesResponses, + GetCurrentUserData, + GetCurrentUserResponses, + GetFilesByIdByRelationData, + GetFilesByIdByRelationError, + GetFilesByIdByRelationErrors, + GetFilesByIdByRelationResponse, + GetFilesByIdByRelationResponses, + GetFilesByIdData, + GetFilesByIdError, + GetFilesByIdErrors, + GetFilesByIdRelationshipsByRelationData, + GetFilesByIdRelationshipsByRelationError, + GetFilesByIdRelationshipsByRelationErrors, + GetFilesByIdRelationshipsByRelationResponse, + GetFilesByIdRelationshipsByRelationResponses, + GetFilesByIdResponse, + GetFilesByIdResponses, + GetFilesCountData, + GetFilesCountError, + GetFilesCountErrors, + GetFilesCountResponse, + GetFilesCountResponses, + GetFilesData, + GetFilesError, + GetFilesErrors, + GetFilesResponse, + GetFilesResponses, + GetGetAccessGroupsData, + GetGetAccessGroupsResponses, + GetGetAgentBinaryData, + GetGetAgentBinaryResponses, + GetGetBestTasksAgentData, + GetGetBestTasksAgentResponses, + GetGetCracksOfTaskData, + GetGetCracksOfTaskResponses, + GetGetFileData, + GetGetFileResponses, + GetGetTaskProgressImageData, + GetGetTaskProgressImageResponses, + GetGetUserPermissionData, + GetGetUserPermissionResponses, + GetGlobalpermissiongroupsByIdByRelationData, + GetGlobalpermissiongroupsByIdByRelationError, + GetGlobalpermissiongroupsByIdByRelationErrors, + GetGlobalpermissiongroupsByIdByRelationResponse, + GetGlobalpermissiongroupsByIdByRelationResponses, + GetGlobalpermissiongroupsByIdData, + GetGlobalpermissiongroupsByIdError, + GetGlobalpermissiongroupsByIdErrors, + GetGlobalpermissiongroupsByIdRelationshipsByRelationData, + GetGlobalpermissiongroupsByIdRelationshipsByRelationError, + GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors, + GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse, + GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses, + GetGlobalpermissiongroupsByIdResponse, + GetGlobalpermissiongroupsByIdResponses, + GetGlobalpermissiongroupsCountData, + GetGlobalpermissiongroupsCountError, + GetGlobalpermissiongroupsCountErrors, + GetGlobalpermissiongroupsCountResponse, + GetGlobalpermissiongroupsCountResponses, + GetGlobalpermissiongroupsData, + GetGlobalpermissiongroupsError, + GetGlobalpermissiongroupsErrors, + GetGlobalpermissiongroupsResponse, + GetGlobalpermissiongroupsResponses, + GetHashesByIdByRelationData, + GetHashesByIdByRelationError, + GetHashesByIdByRelationErrors, + GetHashesByIdByRelationResponse, + GetHashesByIdByRelationResponses, + GetHashesByIdData, + GetHashesByIdError, + GetHashesByIdErrors, + GetHashesByIdRelationshipsByRelationData, + GetHashesByIdRelationshipsByRelationError, + GetHashesByIdRelationshipsByRelationErrors, + GetHashesByIdRelationshipsByRelationResponse, + GetHashesByIdRelationshipsByRelationResponses, + GetHashesByIdResponse, + GetHashesByIdResponses, + GetHashesCountData, + GetHashesCountError, + GetHashesCountErrors, + GetHashesCountResponse, + GetHashesCountResponses, + GetHashesData, + GetHashesError, + GetHashesErrors, + GetHashesResponse, + GetHashesResponses, + GetHashlistsByIdByRelationData, + GetHashlistsByIdByRelationError, + GetHashlistsByIdByRelationErrors, + GetHashlistsByIdByRelationResponse, + GetHashlistsByIdByRelationResponses, + GetHashlistsByIdData, + GetHashlistsByIdError, + GetHashlistsByIdErrors, + GetHashlistsByIdRelationshipsByRelationData, + GetHashlistsByIdRelationshipsByRelationError, + GetHashlistsByIdRelationshipsByRelationErrors, + GetHashlistsByIdRelationshipsByRelationResponse, + GetHashlistsByIdRelationshipsByRelationResponses, + GetHashlistsByIdResponse, + GetHashlistsByIdResponses, + GetHashlistsCountData, + GetHashlistsCountError, + GetHashlistsCountErrors, + GetHashlistsCountResponse, + GetHashlistsCountResponses, + GetHashlistsData, + GetHashlistsError, + GetHashlistsErrors, + GetHashlistsResponse, + GetHashlistsResponses, + GetHashtypesByIdData, + GetHashtypesByIdError, + GetHashtypesByIdErrors, + GetHashtypesByIdResponse, + GetHashtypesByIdResponses, + GetHashtypesCountData, + GetHashtypesCountError, + GetHashtypesCountErrors, + GetHashtypesCountResponse, + GetHashtypesCountResponses, + GetHashtypesData, + GetHashtypesError, + GetHashtypesErrors, + GetHashtypesResponse, + GetHashtypesResponses, + GetHealthcheckagentsByIdByRelationData, + GetHealthcheckagentsByIdByRelationError, + GetHealthcheckagentsByIdByRelationErrors, + GetHealthcheckagentsByIdByRelationResponse, + GetHealthcheckagentsByIdByRelationResponses, + GetHealthcheckagentsByIdData, + GetHealthcheckagentsByIdError, + GetHealthcheckagentsByIdErrors, + GetHealthcheckagentsByIdRelationshipsByRelationData, + GetHealthcheckagentsByIdRelationshipsByRelationError, + GetHealthcheckagentsByIdRelationshipsByRelationErrors, + GetHealthcheckagentsByIdRelationshipsByRelationResponse, + GetHealthcheckagentsByIdRelationshipsByRelationResponses, + GetHealthcheckagentsByIdResponse, + GetHealthcheckagentsByIdResponses, + GetHealthcheckagentsCountData, + GetHealthcheckagentsCountError, + GetHealthcheckagentsCountErrors, + GetHealthcheckagentsCountResponse, + GetHealthcheckagentsCountResponses, + GetHealthcheckagentsData, + GetHealthcheckagentsError, + GetHealthcheckagentsErrors, + GetHealthcheckagentsResponse, + GetHealthcheckagentsResponses, + GetHealthchecksByIdByRelationData, + GetHealthchecksByIdByRelationError, + GetHealthchecksByIdByRelationErrors, + GetHealthchecksByIdByRelationResponse, + GetHealthchecksByIdByRelationResponses, + GetHealthchecksByIdData, + GetHealthchecksByIdError, + GetHealthchecksByIdErrors, + GetHealthchecksByIdRelationshipsByRelationData, + GetHealthchecksByIdRelationshipsByRelationError, + GetHealthchecksByIdRelationshipsByRelationErrors, + GetHealthchecksByIdRelationshipsByRelationResponse, + GetHealthchecksByIdRelationshipsByRelationResponses, + GetHealthchecksByIdResponse, + GetHealthchecksByIdResponses, + GetHealthchecksCountData, + GetHealthchecksCountError, + GetHealthchecksCountErrors, + GetHealthchecksCountResponse, + GetHealthchecksCountResponses, + GetHealthchecksData, + GetHealthchecksError, + GetHealthchecksErrors, + GetHealthchecksResponse, + GetHealthchecksResponses, + GetImportFileData, + GetImportFileResponses, + GetLogentriesByIdData, + GetLogentriesByIdError, + GetLogentriesByIdErrors, + GetLogentriesByIdResponse, + GetLogentriesByIdResponses, + GetLogentriesCountData, + GetLogentriesCountError, + GetLogentriesCountErrors, + GetLogentriesCountResponse, + GetLogentriesCountResponses, + GetLogentriesData, + GetLogentriesError, + GetLogentriesErrors, + GetLogentriesResponse, + GetLogentriesResponses, + GetNotificationsByIdByRelationData, + GetNotificationsByIdByRelationError, + GetNotificationsByIdByRelationErrors, + GetNotificationsByIdByRelationResponse, + GetNotificationsByIdByRelationResponses, + GetNotificationsByIdData, + GetNotificationsByIdError, + GetNotificationsByIdErrors, + GetNotificationsByIdRelationshipsByRelationData, + GetNotificationsByIdRelationshipsByRelationError, + GetNotificationsByIdRelationshipsByRelationErrors, + GetNotificationsByIdRelationshipsByRelationResponse, + GetNotificationsByIdRelationshipsByRelationResponses, + GetNotificationsByIdResponse, + GetNotificationsByIdResponses, + GetNotificationsCountData, + GetNotificationsCountError, + GetNotificationsCountErrors, + GetNotificationsCountResponse, + GetNotificationsCountResponses, + GetNotificationsData, + GetNotificationsError, + GetNotificationsErrors, + GetNotificationsResponse, + GetNotificationsResponses, + GetPreprocessorsByIdData, + GetPreprocessorsByIdError, + GetPreprocessorsByIdErrors, + GetPreprocessorsByIdResponse, + GetPreprocessorsByIdResponses, + GetPreprocessorsCountData, + GetPreprocessorsCountError, + GetPreprocessorsCountErrors, + GetPreprocessorsCountResponse, + GetPreprocessorsCountResponses, + GetPreprocessorsData, + GetPreprocessorsError, + GetPreprocessorsErrors, + GetPreprocessorsResponse, + GetPreprocessorsResponses, + GetPretasksByIdByRelationData, + GetPretasksByIdByRelationError, + GetPretasksByIdByRelationErrors, + GetPretasksByIdByRelationResponse, + GetPretasksByIdByRelationResponses, + GetPretasksByIdData, + GetPretasksByIdError, + GetPretasksByIdErrors, + GetPretasksByIdRelationshipsByRelationData, + GetPretasksByIdRelationshipsByRelationError, + GetPretasksByIdRelationshipsByRelationErrors, + GetPretasksByIdRelationshipsByRelationResponse, + GetPretasksByIdRelationshipsByRelationResponses, + GetPretasksByIdResponse, + GetPretasksByIdResponses, + GetPretasksCountData, + GetPretasksCountError, + GetPretasksCountErrors, + GetPretasksCountResponse, + GetPretasksCountResponses, + GetPretasksData, + GetPretasksError, + GetPretasksErrors, + GetPretasksResponse, + GetPretasksResponses, + GetSpeedsByIdByRelationData, + GetSpeedsByIdByRelationError, + GetSpeedsByIdByRelationErrors, + GetSpeedsByIdByRelationResponse, + GetSpeedsByIdByRelationResponses, + GetSpeedsByIdData, + GetSpeedsByIdError, + GetSpeedsByIdErrors, + GetSpeedsByIdRelationshipsByRelationData, + GetSpeedsByIdRelationshipsByRelationError, + GetSpeedsByIdRelationshipsByRelationErrors, + GetSpeedsByIdRelationshipsByRelationResponse, + GetSpeedsByIdRelationshipsByRelationResponses, + GetSpeedsByIdResponse, + GetSpeedsByIdResponses, + GetSpeedsCountData, + GetSpeedsCountError, + GetSpeedsCountErrors, + GetSpeedsCountResponse, + GetSpeedsCountResponses, + GetSpeedsData, + GetSpeedsError, + GetSpeedsErrors, + GetSpeedsResponse, + GetSpeedsResponses, + GetSupertasksByIdByRelationData, + GetSupertasksByIdByRelationError, + GetSupertasksByIdByRelationErrors, + GetSupertasksByIdByRelationResponse, + GetSupertasksByIdByRelationResponses, + GetSupertasksByIdData, + GetSupertasksByIdError, + GetSupertasksByIdErrors, + GetSupertasksByIdRelationshipsByRelationData, + GetSupertasksByIdRelationshipsByRelationError, + GetSupertasksByIdRelationshipsByRelationErrors, + GetSupertasksByIdRelationshipsByRelationResponse, + GetSupertasksByIdRelationshipsByRelationResponses, + GetSupertasksByIdResponse, + GetSupertasksByIdResponses, + GetSupertasksCountData, + GetSupertasksCountError, + GetSupertasksCountErrors, + GetSupertasksCountResponse, + GetSupertasksCountResponses, + GetSupertasksData, + GetSupertasksError, + GetSupertasksErrors, + GetSupertasksResponse, + GetSupertasksResponses, + GetTasksByIdByRelationData, + GetTasksByIdByRelationError, + GetTasksByIdByRelationErrors, + GetTasksByIdByRelationResponse, + GetTasksByIdByRelationResponses, + GetTasksByIdData, + GetTasksByIdError, + GetTasksByIdErrors, + GetTasksByIdRelationshipsByRelationData, + GetTasksByIdRelationshipsByRelationError, + GetTasksByIdRelationshipsByRelationErrors, + GetTasksByIdRelationshipsByRelationResponse, + GetTasksByIdRelationshipsByRelationResponses, + GetTasksByIdResponse, + GetTasksByIdResponses, + GetTasksCountData, + GetTasksCountError, + GetTasksCountErrors, + GetTasksCountResponse, + GetTasksCountResponses, + GetTasksData, + GetTasksError, + GetTasksErrors, + GetTasksResponse, + GetTasksResponses, + GetTaskwrappersByIdByRelationData, + GetTaskwrappersByIdByRelationError, + GetTaskwrappersByIdByRelationErrors, + GetTaskwrappersByIdByRelationResponse, + GetTaskwrappersByIdByRelationResponses, + GetTaskwrappersByIdData, + GetTaskwrappersByIdError, + GetTaskwrappersByIdErrors, + GetTaskwrappersByIdRelationshipsByRelationData, + GetTaskwrappersByIdRelationshipsByRelationError, + GetTaskwrappersByIdRelationshipsByRelationErrors, + GetTaskwrappersByIdRelationshipsByRelationResponse, + GetTaskwrappersByIdRelationshipsByRelationResponses, + GetTaskwrappersByIdResponse, + GetTaskwrappersByIdResponses, + GetTaskwrappersCountData, + GetTaskwrappersCountError, + GetTaskwrappersCountErrors, + GetTaskwrappersCountResponse, + GetTaskwrappersCountResponses, + GetTaskwrappersData, + GetTaskwrappersError, + GetTaskwrappersErrors, + GetTaskwrappersResponse, + GetTaskwrappersResponses, + GetUsersByIdByRelationData, + GetUsersByIdByRelationError, + GetUsersByIdByRelationErrors, + GetUsersByIdByRelationResponse, + GetUsersByIdByRelationResponses, + GetUsersByIdData, + GetUsersByIdError, + GetUsersByIdErrors, + GetUsersByIdRelationshipsByRelationData, + GetUsersByIdRelationshipsByRelationError, + GetUsersByIdRelationshipsByRelationErrors, + GetUsersByIdRelationshipsByRelationResponse, + GetUsersByIdRelationshipsByRelationResponses, + GetUsersByIdResponse, + GetUsersByIdResponses, + GetUsersCountData, + GetUsersCountError, + GetUsersCountErrors, + GetUsersCountResponse, + GetUsersCountResponses, + GetUsersData, + GetUsersError, + GetUsersErrors, + GetUsersResponse, + GetUsersResponses, + GetVouchersByIdData, + GetVouchersByIdError, + GetVouchersByIdErrors, + GetVouchersByIdResponse, + GetVouchersByIdResponses, + GetVouchersCountData, + GetVouchersCountError, + GetVouchersCountErrors, + GetVouchersCountResponse, + GetVouchersCountResponses, + GetVouchersData, + GetVouchersError, + GetVouchersErrors, + GetVouchersResponse, + GetVouchersResponses, + GlobalPermissionGroupCreate, + GlobalPermissionGroupListResponse, + GlobalPermissionGroupPatch, + GlobalPermissionGroupPostPatchResponse, + GlobalPermissionGroupRelationUserMembers, + GlobalPermissionGroupRelationUserMembersGetResponse, + GlobalPermissionGroupResponse, + HashlistCreate, + HashlistListResponse, + HashlistPatch, + HashlistPostPatchResponse, + HashlistRelationTasks, + HashlistRelationTasksGetResponse, + HashlistResponse, + HashListResponse, + HashlistSingleResponse, + HashRelationHashlist, + HashRelationHashlistGetResponse, + HashResponse, + HashTypeCreate, + HashTypeListResponse, + HashTypePatch, + HashTypePostPatchResponse, + HashTypeResponse, + HeadImportFileById09aF32Data, + HeadImportFileById09aF32Responses, + HealthCheckAgentListResponse, + HealthCheckAgentRelationHealthCheck, + HealthCheckAgentRelationHealthCheckGetResponse, + HealthCheckAgentResponse, + HealthCheckCreate, + HealthCheckListResponse, + HealthCheckPatch, + HealthCheckPostPatchResponse, + HealthCheckRelationHealthCheckAgents, + HealthCheckRelationHealthCheckAgentsGetResponse, + HealthCheckResponse, + ImportCrackedHashesHelperApi, + ImportCrackedHashesHelperApiResponse, + ImportFileHelperApi, + LogEntryCreate, + LogEntryListResponse, + LogEntryPatch, + LogEntryPostPatchResponse, + LogEntryResponse, + MaskSupertaskBuilderHelperApi, + NotFoundResponse, + NotificationSettingCreate, + NotificationSettingListResponse, + NotificationSettingPatch, + NotificationSettingPostPatchResponse, + NotificationSettingRelationUser, + NotificationSettingRelationUserGetResponse, + NotificationSettingResponse, + PatchAccessgroupsByIdData, + PatchAccessgroupsByIdError, + PatchAccessgroupsByIdErrors, + PatchAccessgroupsByIdRelationshipsByRelationData, + PatchAccessgroupsByIdRelationshipsByRelationError, + PatchAccessgroupsByIdRelationshipsByRelationErrors, + PatchAccessgroupsByIdRelationshipsByRelationResponse, + PatchAccessgroupsByIdRelationshipsByRelationResponses, + PatchAccessgroupsByIdResponse, + PatchAccessgroupsByIdResponses, + PatchAccessgroupsData, + PatchAccessgroupsError, + PatchAccessgroupsErrors, + PatchAccessgroupsResponses, + PatchAgentassignmentsByIdData, + PatchAgentassignmentsByIdError, + PatchAgentassignmentsByIdErrors, + PatchAgentassignmentsByIdRelationshipsByRelationData, + PatchAgentassignmentsByIdRelationshipsByRelationError, + PatchAgentassignmentsByIdRelationshipsByRelationErrors, + PatchAgentassignmentsByIdRelationshipsByRelationResponse, + PatchAgentassignmentsByIdRelationshipsByRelationResponses, + PatchAgentassignmentsByIdResponse, + PatchAgentassignmentsByIdResponses, + PatchAgentassignmentsData, + PatchAgentassignmentsError, + PatchAgentassignmentsErrors, + PatchAgentassignmentsResponses, + PatchAgentbinariesByIdData, + PatchAgentbinariesByIdError, + PatchAgentbinariesByIdErrors, + PatchAgentbinariesByIdResponse, + PatchAgentbinariesByIdResponses, + PatchAgentbinariesData, + PatchAgentbinariesError, + PatchAgentbinariesErrors, + PatchAgentbinariesResponses, + PatchAgenterrorsByIdRelationshipsByRelationData, + PatchAgenterrorsByIdRelationshipsByRelationError, + PatchAgenterrorsByIdRelationshipsByRelationErrors, + PatchAgenterrorsByIdRelationshipsByRelationResponse, + PatchAgenterrorsByIdRelationshipsByRelationResponses, + PatchAgentsByIdData, + PatchAgentsByIdError, + PatchAgentsByIdErrors, + PatchAgentsByIdRelationshipsByRelationData, + PatchAgentsByIdRelationshipsByRelationError, + PatchAgentsByIdRelationshipsByRelationErrors, + PatchAgentsByIdRelationshipsByRelationResponse, + PatchAgentsByIdRelationshipsByRelationResponses, + PatchAgentsByIdResponse, + PatchAgentsByIdResponses, + PatchAgentsData, + PatchAgentsError, + PatchAgentsErrors, + PatchAgentsResponses, + PatchApiTokensByIdData, + PatchApiTokensByIdError, + PatchApiTokensByIdErrors, + PatchApiTokensByIdRelationshipsByRelationData, + PatchApiTokensByIdRelationshipsByRelationError, + PatchApiTokensByIdRelationshipsByRelationErrors, + PatchApiTokensByIdRelationshipsByRelationResponse, + PatchApiTokensByIdRelationshipsByRelationResponses, + PatchApiTokensByIdResponse, + PatchApiTokensByIdResponses, + PatchApiTokensData, + PatchApiTokensError, + PatchApiTokensErrors, + PatchApiTokensResponses, + PatchChunksByIdRelationshipsByRelationData, + PatchChunksByIdRelationshipsByRelationError, + PatchChunksByIdRelationshipsByRelationErrors, + PatchChunksByIdRelationshipsByRelationResponse, + PatchChunksByIdRelationshipsByRelationResponses, + PatchConfigsByIdData, + PatchConfigsByIdError, + PatchConfigsByIdErrors, + PatchConfigsByIdRelationshipsByRelationData, + PatchConfigsByIdRelationshipsByRelationError, + PatchConfigsByIdRelationshipsByRelationErrors, + PatchConfigsByIdRelationshipsByRelationResponse, + PatchConfigsByIdRelationshipsByRelationResponses, + PatchConfigsByIdResponse, + PatchConfigsByIdResponses, + PatchConfigsData, + PatchConfigsError, + PatchConfigsErrors, + PatchConfigsResponses, + PatchCrackersByIdData, + PatchCrackersByIdError, + PatchCrackersByIdErrors, + PatchCrackersByIdRelationshipsByRelationData, + PatchCrackersByIdRelationshipsByRelationError, + PatchCrackersByIdRelationshipsByRelationErrors, + PatchCrackersByIdRelationshipsByRelationResponse, + PatchCrackersByIdRelationshipsByRelationResponses, + PatchCrackersByIdResponse, + PatchCrackersByIdResponses, + PatchCrackersData, + PatchCrackersError, + PatchCrackersErrors, + PatchCrackersResponses, + PatchCrackertypesByIdData, + PatchCrackertypesByIdError, + PatchCrackertypesByIdErrors, + PatchCrackertypesByIdRelationshipsByRelationData, + PatchCrackertypesByIdRelationshipsByRelationError, + PatchCrackertypesByIdRelationshipsByRelationErrors, + PatchCrackertypesByIdRelationshipsByRelationResponse, + PatchCrackertypesByIdRelationshipsByRelationResponses, + PatchCrackertypesByIdResponse, + PatchCrackertypesByIdResponses, + PatchCrackertypesData, + PatchCrackertypesError, + PatchCrackertypesErrors, + PatchCrackertypesResponses, + PatchCurrentUserData, + PatchCurrentUserResponses, + PatchFilesByIdData, + PatchFilesByIdError, + PatchFilesByIdErrors, + PatchFilesByIdRelationshipsByRelationData, + PatchFilesByIdRelationshipsByRelationError, + PatchFilesByIdRelationshipsByRelationErrors, + PatchFilesByIdRelationshipsByRelationResponse, + PatchFilesByIdRelationshipsByRelationResponses, + PatchFilesByIdResponse, + PatchFilesByIdResponses, + PatchFilesData, + PatchFilesError, + PatchFilesErrors, + PatchFilesResponses, + PatchGlobalpermissiongroupsByIdData, + PatchGlobalpermissiongroupsByIdError, + PatchGlobalpermissiongroupsByIdErrors, + PatchGlobalpermissiongroupsByIdRelationshipsByRelationData, + PatchGlobalpermissiongroupsByIdRelationshipsByRelationError, + PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors, + PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse, + PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses, + PatchGlobalpermissiongroupsByIdResponse, + PatchGlobalpermissiongroupsByIdResponses, + PatchGlobalpermissiongroupsData, + PatchGlobalpermissiongroupsError, + PatchGlobalpermissiongroupsErrors, + PatchGlobalpermissiongroupsResponses, + PatchHashesByIdRelationshipsByRelationData, + PatchHashesByIdRelationshipsByRelationError, + PatchHashesByIdRelationshipsByRelationErrors, + PatchHashesByIdRelationshipsByRelationResponse, + PatchHashesByIdRelationshipsByRelationResponses, + PatchHashlistsByIdData, + PatchHashlistsByIdError, + PatchHashlistsByIdErrors, + PatchHashlistsByIdRelationshipsByRelationData, + PatchHashlistsByIdRelationshipsByRelationError, + PatchHashlistsByIdRelationshipsByRelationErrors, + PatchHashlistsByIdRelationshipsByRelationResponse, + PatchHashlistsByIdRelationshipsByRelationResponses, + PatchHashlistsByIdResponse, + PatchHashlistsByIdResponses, + PatchHashlistsData, + PatchHashlistsError, + PatchHashlistsErrors, + PatchHashlistsResponses, + PatchHashtypesByIdData, + PatchHashtypesByIdError, + PatchHashtypesByIdErrors, + PatchHashtypesByIdResponse, + PatchHashtypesByIdResponses, + PatchHashtypesData, + PatchHashtypesError, + PatchHashtypesErrors, + PatchHashtypesResponses, + PatchHealthcheckagentsByIdRelationshipsByRelationData, + PatchHealthcheckagentsByIdRelationshipsByRelationError, + PatchHealthcheckagentsByIdRelationshipsByRelationErrors, + PatchHealthcheckagentsByIdRelationshipsByRelationResponse, + PatchHealthcheckagentsByIdRelationshipsByRelationResponses, + PatchHealthchecksByIdData, + PatchHealthchecksByIdError, + PatchHealthchecksByIdErrors, + PatchHealthchecksByIdRelationshipsByRelationData, + PatchHealthchecksByIdRelationshipsByRelationError, + PatchHealthchecksByIdRelationshipsByRelationErrors, + PatchHealthchecksByIdRelationshipsByRelationResponse, + PatchHealthchecksByIdRelationshipsByRelationResponses, + PatchHealthchecksByIdResponse, + PatchHealthchecksByIdResponses, + PatchHealthchecksData, + PatchHealthchecksError, + PatchHealthchecksErrors, + PatchHealthchecksResponses, + PatchImportFileById09aF32Data, + PatchImportFileById09aF32Response, + PatchImportFileById09aF32Responses, + PatchLogentriesByIdData, + PatchLogentriesByIdError, + PatchLogentriesByIdErrors, + PatchLogentriesByIdResponse, + PatchLogentriesByIdResponses, + PatchLogentriesData, + PatchLogentriesError, + PatchLogentriesErrors, + PatchLogentriesResponses, + PatchNotificationsByIdData, + PatchNotificationsByIdError, + PatchNotificationsByIdErrors, + PatchNotificationsByIdRelationshipsByRelationData, + PatchNotificationsByIdRelationshipsByRelationError, + PatchNotificationsByIdRelationshipsByRelationErrors, + PatchNotificationsByIdRelationshipsByRelationResponse, + PatchNotificationsByIdRelationshipsByRelationResponses, + PatchNotificationsByIdResponse, + PatchNotificationsByIdResponses, + PatchNotificationsData, + PatchNotificationsError, + PatchNotificationsErrors, + PatchNotificationsResponses, + PatchPreprocessorsByIdData, + PatchPreprocessorsByIdError, + PatchPreprocessorsByIdErrors, + PatchPreprocessorsByIdResponse, + PatchPreprocessorsByIdResponses, + PatchPreprocessorsData, + PatchPreprocessorsError, + PatchPreprocessorsErrors, + PatchPreprocessorsResponses, + PatchPretasksByIdData, + PatchPretasksByIdError, + PatchPretasksByIdErrors, + PatchPretasksByIdRelationshipsByRelationData, + PatchPretasksByIdRelationshipsByRelationError, + PatchPretasksByIdRelationshipsByRelationErrors, + PatchPretasksByIdRelationshipsByRelationResponse, + PatchPretasksByIdRelationshipsByRelationResponses, + PatchPretasksByIdResponse, + PatchPretasksByIdResponses, + PatchPretasksData, + PatchPretasksError, + PatchPretasksErrors, + PatchPretasksResponses, + PatchSpeedsByIdRelationshipsByRelationData, + PatchSpeedsByIdRelationshipsByRelationError, + PatchSpeedsByIdRelationshipsByRelationErrors, + PatchSpeedsByIdRelationshipsByRelationResponse, + PatchSpeedsByIdRelationshipsByRelationResponses, + PatchSupertasksByIdData, + PatchSupertasksByIdError, + PatchSupertasksByIdErrors, + PatchSupertasksByIdRelationshipsByRelationData, + PatchSupertasksByIdRelationshipsByRelationError, + PatchSupertasksByIdRelationshipsByRelationErrors, + PatchSupertasksByIdRelationshipsByRelationResponse, + PatchSupertasksByIdRelationshipsByRelationResponses, + PatchSupertasksByIdResponse, + PatchSupertasksByIdResponses, + PatchSupertasksData, + PatchSupertasksError, + PatchSupertasksErrors, + PatchSupertasksResponses, + PatchTasksByIdData, + PatchTasksByIdError, + PatchTasksByIdErrors, + PatchTasksByIdRelationshipsByRelationData, + PatchTasksByIdRelationshipsByRelationError, + PatchTasksByIdRelationshipsByRelationErrors, + PatchTasksByIdRelationshipsByRelationResponse, + PatchTasksByIdRelationshipsByRelationResponses, + PatchTasksByIdResponse, + PatchTasksByIdResponses, + PatchTasksData, + PatchTasksError, + PatchTasksErrors, + PatchTasksResponses, + PatchTaskwrappersByIdData, + PatchTaskwrappersByIdError, + PatchTaskwrappersByIdErrors, + PatchTaskwrappersByIdRelationshipsByRelationData, + PatchTaskwrappersByIdRelationshipsByRelationError, + PatchTaskwrappersByIdRelationshipsByRelationErrors, + PatchTaskwrappersByIdRelationshipsByRelationResponse, + PatchTaskwrappersByIdRelationshipsByRelationResponses, + PatchTaskwrappersByIdResponse, + PatchTaskwrappersByIdResponses, + PatchTaskwrappersData, + PatchTaskwrappersError, + PatchTaskwrappersErrors, + PatchTaskwrappersResponses, + PatchUsersByIdData, + PatchUsersByIdError, + PatchUsersByIdErrors, + PatchUsersByIdRelationshipsByRelationData, + PatchUsersByIdRelationshipsByRelationError, + PatchUsersByIdRelationshipsByRelationErrors, + PatchUsersByIdRelationshipsByRelationResponse, + PatchUsersByIdRelationshipsByRelationResponses, + PatchUsersByIdResponse, + PatchUsersByIdResponses, + PatchUsersData, + PatchUsersError, + PatchUsersErrors, + PatchUsersResponses, + PatchVouchersByIdData, + PatchVouchersByIdError, + PatchVouchersByIdErrors, + PatchVouchersByIdResponse, + PatchVouchersByIdResponses, + PatchVouchersData, + PatchVouchersError, + PatchVouchersErrors, + PatchVouchersResponses, + PostAbortChunkData, + PostAbortChunkResponse, + PostAbortChunkResponses, + PostAccessgroupsByIdRelationshipsByRelationData, + PostAccessgroupsByIdRelationshipsByRelationError, + PostAccessgroupsByIdRelationshipsByRelationErrors, + PostAccessgroupsByIdRelationshipsByRelationResponse, + PostAccessgroupsByIdRelationshipsByRelationResponses, + PostAccessgroupsData, + PostAccessgroupsError, + PostAccessgroupsErrors, + PostAccessgroupsResponse, + PostAccessgroupsResponses, + PostAgentassignmentsData, + PostAgentassignmentsError, + PostAgentassignmentsErrors, + PostAgentassignmentsResponse, + PostAgentassignmentsResponses, + PostAgentbinariesData, + PostAgentbinariesError, + PostAgentbinariesErrors, + PostAgentbinariesResponse, + PostAgentbinariesResponses, + PostAgentsByIdRelationshipsByRelationData, + PostAgentsByIdRelationshipsByRelationError, + PostAgentsByIdRelationshipsByRelationErrors, + PostAgentsByIdRelationshipsByRelationResponse, + PostAgentsByIdRelationshipsByRelationResponses, + PostApiTokensData, + PostApiTokensError, + PostApiTokensErrors, + PostApiTokensResponse, + PostApiTokensResponses, + PostAssignAgentData, + PostAssignAgentResponse, + PostAssignAgentResponses, + PostBulkSupertaskBuilderData, + PostBulkSupertaskBuilderResponse, + PostBulkSupertaskBuilderResponses, + PostChangeOwnPasswordData, + PostChangeOwnPasswordResponse, + PostChangeOwnPasswordResponses, + PostCrackersByIdRelationshipsByRelationData, + PostCrackersByIdRelationshipsByRelationError, + PostCrackersByIdRelationshipsByRelationErrors, + PostCrackersByIdRelationshipsByRelationResponse, + PostCrackersByIdRelationshipsByRelationResponses, + PostCrackersData, + PostCrackersError, + PostCrackersErrors, + PostCrackersResponse, + PostCrackersResponses, + PostCrackertypesByIdRelationshipsByRelationData, + PostCrackertypesByIdRelationshipsByRelationError, + PostCrackertypesByIdRelationshipsByRelationErrors, + PostCrackertypesByIdRelationshipsByRelationResponse, + PostCrackertypesByIdRelationshipsByRelationResponses, + PostCrackertypesData, + PostCrackertypesError, + PostCrackertypesErrors, + PostCrackertypesResponse, + PostCrackertypesResponses, + PostCreateSuperHashlistData, + PostCreateSuperHashlistResponse, + PostCreateSuperHashlistResponses, + PostCreateSupertaskData, + PostCreateSupertaskResponse, + PostCreateSupertaskResponses, + PostExportCrackedHashesData, + PostExportCrackedHashesResponse, + PostExportCrackedHashesResponses, + PostExportLeftHashesData, + PostExportLeftHashesResponse, + PostExportLeftHashesResponses, + PostExportWordlistData, + PostExportWordlistResponse, + PostExportWordlistResponses, + PostFilesData, + PostFilesError, + PostFilesErrors, + PostFilesResponse, + PostFilesResponses, + PostGlobalpermissiongroupsByIdRelationshipsByRelationData, + PostGlobalpermissiongroupsByIdRelationshipsByRelationError, + PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors, + PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse, + PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses, + PostGlobalpermissiongroupsData, + PostGlobalpermissiongroupsError, + PostGlobalpermissiongroupsErrors, + PostGlobalpermissiongroupsResponse, + PostGlobalpermissiongroupsResponses, + PostHashlistsByIdRelationshipsByRelationData, + PostHashlistsByIdRelationshipsByRelationError, + PostHashlistsByIdRelationshipsByRelationErrors, + PostHashlistsByIdRelationshipsByRelationResponse, + PostHashlistsByIdRelationshipsByRelationResponses, + PostHashlistsData, + PostHashlistsError, + PostHashlistsErrors, + PostHashlistsResponse, + PostHashlistsResponses, + PostHashtypesData, + PostHashtypesError, + PostHashtypesErrors, + PostHashtypesResponse, + PostHashtypesResponses, + PostHealthchecksByIdRelationshipsByRelationData, + PostHealthchecksByIdRelationshipsByRelationError, + PostHealthchecksByIdRelationshipsByRelationErrors, + PostHealthchecksByIdRelationshipsByRelationResponse, + PostHealthchecksByIdRelationshipsByRelationResponses, + PostHealthchecksData, + PostHealthchecksError, + PostHealthchecksErrors, + PostHealthchecksResponse, + PostHealthchecksResponses, + PostImportCrackedHashesData, + PostImportCrackedHashesResponse, + PostImportCrackedHashesResponses, + PostImportFileData, + PostImportFileResponse, + PostImportFileResponses, + PostLogentriesData, + PostLogentriesError, + PostLogentriesErrors, + PostLogentriesResponse, + PostLogentriesResponses, + PostMaskSupertaskBuilderData, + PostMaskSupertaskBuilderResponse, + PostMaskSupertaskBuilderResponses, + PostNotificationsData, + PostNotificationsError, + PostNotificationsErrors, + PostNotificationsResponse, + PostNotificationsResponses, + PostPreprocessorsData, + PostPreprocessorsError, + PostPreprocessorsErrors, + PostPreprocessorsResponse, + PostPreprocessorsResponses, + PostPretasksByIdRelationshipsByRelationData, + PostPretasksByIdRelationshipsByRelationError, + PostPretasksByIdRelationshipsByRelationErrors, + PostPretasksByIdRelationshipsByRelationResponse, + PostPretasksByIdRelationshipsByRelationResponses, + PostPretasksData, + PostPretasksError, + PostPretasksErrors, + PostPretasksResponse, + PostPretasksResponses, + PostPurgeTaskData, + PostPurgeTaskResponse, + PostPurgeTaskResponses, + PostRebuildChunkCacheData, + PostRebuildChunkCacheResponse, + PostRebuildChunkCacheResponses, + PostRecountFileLinesData, + PostRecountFileLinesResponse, + PostRecountFileLinesResponses, + PostRescanGlobalFilesData, + PostRescanGlobalFilesResponse, + PostRescanGlobalFilesResponses, + PostResetChunkData, + PostResetChunkResponse, + PostResetChunkResponses, + PostResetUserPasswordData, + PostResetUserPasswordResponse, + PostResetUserPasswordResponses, + PostSearchHashesData, + PostSearchHashesResponse, + PostSearchHashesResponses, + PostSetUserPasswordData, + PostSetUserPasswordResponse, + PostSetUserPasswordResponses, + PostSupertasksByIdRelationshipsByRelationData, + PostSupertasksByIdRelationshipsByRelationError, + PostSupertasksByIdRelationshipsByRelationErrors, + PostSupertasksByIdRelationshipsByRelationResponse, + PostSupertasksByIdRelationshipsByRelationResponses, + PostSupertasksData, + PostSupertasksError, + PostSupertasksErrors, + PostSupertasksResponse, + PostSupertasksResponses, + PostTasksByIdRelationshipsByRelationData, + PostTasksByIdRelationshipsByRelationError, + PostTasksByIdRelationshipsByRelationErrors, + PostTasksByIdRelationshipsByRelationResponse, + PostTasksByIdRelationshipsByRelationResponses, + PostTasksData, + PostTasksError, + PostTasksErrors, + PostTasksResponse, + PostTasksResponses, + PostTaskwrappersByIdRelationshipsByRelationData, + PostTaskwrappersByIdRelationshipsByRelationError, + PostTaskwrappersByIdRelationshipsByRelationErrors, + PostTaskwrappersByIdRelationshipsByRelationResponse, + PostTaskwrappersByIdRelationshipsByRelationResponses, + PostTokenData, + PostTokenError, + PostTokenErrors, + PostTokenResponse, + PostTokenResponses, + PostUnassignAgentData, + PostUnassignAgentResponse, + PostUnassignAgentResponses, + PostUsersByIdRelationshipsByRelationData, + PostUsersByIdRelationshipsByRelationError, + PostUsersByIdRelationshipsByRelationErrors, + PostUsersByIdRelationshipsByRelationResponse, + PostUsersByIdRelationshipsByRelationResponses, + PostUsersData, + PostUsersError, + PostUsersErrors, + PostUsersResponse, + PostUsersResponses, + PostVouchersData, + PostVouchersError, + PostVouchersErrors, + PostVouchersResponse, + PostVouchersResponses, + PreprocessorCreate, + PreprocessorListResponse, + PreprocessorPatch, + PreprocessorPostPatchResponse, + PreprocessorResponse, + PreTaskCreate, + PreTaskListResponse, + PreTaskPatch, + PreTaskPostPatchResponse, + PreTaskRelationPretaskFiles, + PreTaskRelationPretaskFilesGetResponse, + PreTaskResponse, + PurgeTaskHelperApi, + PurgeTaskHelperApiResponse, + RebuildChunkCacheHelperApi, + RebuildChunkCacheHelperApiResponse, + RecountFileLinesHelperApi, + RescanGlobalFilesHelperApi, + RescanGlobalFilesHelperApiResponse, + ResetChunkHelperApi, + ResetChunkHelperApiResponse, + ResetUserPasswordHelperApi, + ResetUserPasswordHelperApiResponse, + SearchHashesHelperApi, + SearchHashesHelperApiResponse, + SetUserPasswordHelperApi, + SetUserPasswordHelperApiResponse, + SpeedListResponse, + SpeedRelationTask, + SpeedRelationTaskGetResponse, + SpeedResponse, + SupertaskCreate, + SupertaskListResponse, + SupertaskPatch, + SupertaskPostPatchResponse, + SupertaskRelationPretasks, + SupertaskRelationPretasksGetResponse, + SupertaskResponse, + SupertaskSingleResponse, + TaskCreate, + TaskListResponse, + TaskPatch, + TaskPostPatchResponse, + TaskRelationSpeeds, + TaskRelationSpeedsGetResponse, + TaskResponse, + TaskWrapperListResponse, + TaskWrapperPatch, + TaskWrapperPostPatchResponse, + TaskWrapperRelationTasks, + TaskWrapperRelationTasksGetResponse, + TaskWrapperResponse, + TaskWrapperSingleResponse, + Token, + TokenRequest, + UnassignAgentHelperApi, + UnassignAgentHelperApiResponse, + UserCreate, + UserListResponse, + UserPatch, + UserPostPatchResponse, + UserRelationAccessGroups, + UserRelationAccessGroupsGetResponse, + UserResponse, + VoucherCreate, + VoucherListResponse, + VoucherPatch, + VoucherPostPatchResponse, + VoucherResponse +} from './types.gen'; diff --git a/src/generated/api/types.gen.ts b/src/generated/api/types.gen.ts index 5d14bb2a0..85798b28b 100644 --- a/src/generated/api/types.gen.ts +++ b/src/generated/api/types.gen.ts @@ -1,17693 +1,18084 @@ // This file is auto-generated by @hey-api/openapi-ts export type ClientOptions = { - baseUrl: `${string}://${string}` | (string & {}); + baseUrl: `${string}://${string}` | (string & {}); }; export type ErrorResponse = { - title?: string; - type?: string; - status: number; + title?: string; + type?: string; + status: number; }; export type NotFoundResponse = { - message: string; - exception?: { - type?: string; - code?: number; - message?: string; - file?: string; - line?: number; - }; + message: string; + exception?: { + type?: string; + code?: number; + message?: string; + file?: string; + line?: number; + }; }; export type AccessGroupCreate = { - data: { - type: 'accessGroup'; - attributes: { - groupName: string; - }; + data: { + type: 'accessGroup'; + attributes: { + groupName: string; }; + }; }; export type AccessGroupPatch = { - data: { - type: 'accessGroup'; - attributes: { - groupName?: string; - }; + data: { + type: 'accessGroup'; + attributes: { + groupName?: string; }; + }; }; export type AccessGroupResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + }; + relationships?: { + agentMembers: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: Array<{ + type: 'agent'; id: number; - type: 'accessGroup'; - attributes: { - groupName: string; - }; + }>; }; - relationships?: { - agentMembers: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agent'; - id: number; - }>; - }; - userMembers: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'user'; - id: number; - }>; - }; + userMembers: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'user'; + id: number; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'user'; attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - } | { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + } + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - }>; + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + >; }; export type AccessGroupPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'accessGroup'; - attributes: { - groupName: string; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; }; + }; }; export type AccessGroupListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + }>; + relationships?: { + agentMembers: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: Array<{ + type: 'agent'; + id: number; + }>; }; - data: Array<{ + userMembers: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'user'; id: number; - type: 'accessGroup'; - attributes: { - groupName: string; - }; - }>; - relationships?: { - agentMembers: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agent'; - id: number; - }>; - }; - userMembers: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'user'; - id: number; - }>; - }; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'user'; attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - } | { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + } + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - }>; + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + >; }; export type AccessGroupRelationAgentMembers = { - data: Array<{ - type: 'agentMembers'; - id: number; - }>; + data: Array<{ + type: 'agentMembers'; + id: number; + }>; }; export type AccessGroupRelationAgentMembersGetResponse = { - data: Array<{ - type: 'agentMembers'; - id: number; - }>; + data: Array<{ + type: 'agentMembers'; + id: number; + }>; }; export type AgentPatch = { - data: { - type: 'agent'; - attributes: { - agentName?: string; - cmdPars?: string; - cpuOnly?: boolean; - ignoreErrors?: 0 | 1 | 2; - isActive?: boolean; - isTrusted?: boolean; - os?: 0 | 1 | 2; - uid?: string; - userId?: number | null; - }; - }; + data: { + type: 'agent'; + attributes: { + agentName?: string; + cmdPars?: string; + cpuOnly?: boolean; + ignoreErrors?: 0 | 1 | 2; + isActive?: boolean; + isTrusted?: boolean; + os?: 0 | 1 | 2; + uid?: string; + userId?: number | null; + }; + }; }; export type AgentResponse = { - jsonapi: { - version: string; - ext?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + }; + relationships?: { + accessGroups: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'accessGroup'; + id: number; + }>; }; - links?: { + agentErrors: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: Array<{ + type: 'agentError'; + id: number; + }>; }; - data: { + agentStats: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agentStat'; id: number; - type: 'agent'; - attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; + }>; }; - relationships?: { - accessGroups: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'accessGroup'; - id: number; - }>; - }; - agentErrors: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agentError'; - id: number; - }>; - }; - agentStats: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agentStat'; - id: number; - }>; - }; - assignments: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agentAssignment'; - id: number; - }>; - }; - chunks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'chunk'; - id: number; - }>; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; - user: { - links: { - self: string; - related: string; - }; - data?: { - type: 'user'; - id: number; - } | null; - }; + assignments: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agentAssignment'; + id: number; + }>; + }; + chunks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'chunk'; + id: number; + }>; + }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; + }; + user: { + links: { + self: string; + related: string; + }; + data?: { + type: 'user'; + id: number; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'user'; attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - } | { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + } + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - } | { + } + | { id: number; type: 'agentStat'; attributes: { - agentId: number; - statType: 1 | 2 | 3; - time: number; - value: Array; + agentId: number; + statType: 1 | 2 | 3; + time: number; + value: Array; }; - } | { + } + | { id: number; type: 'agentError'; attributes: { - agentId: number; - taskId: number; - chunkId: number; - time: number; - error: string; + agentId: number; + taskId: number; + chunkId: number; + time: number; + error: string; }; - } | { + } + | { id: number; type: 'chunk'; attributes: { - taskId: number; - skip: number; - length: number; - agentId: number; - dispatchTime: number; - solveTime: number; - checkpoint: number; - progress: number; - state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; - cracked: number; - speed: number; - }; - } | { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - } | { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + | { id: number; type: 'agentAssignment'; attributes: { - taskId: number; - agentId: number; - benchmark: string; + taskId: number; + agentId: number; + benchmark: string; }; - }>; + } + >; }; export type AgentPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'agent'; - attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + }; }; export type AgentListResponse = { - jsonapi: { - version: string; - ext?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'agent'; + attributes: { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + }>; + relationships?: { + accessGroups: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'accessGroup'; + id: number; + }>; }; - links?: { + agentErrors: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: Array<{ + type: 'agentError'; + id: number; + }>; }; - data: Array<{ + agentStats: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agentStat'; id: number; - type: 'agent'; - attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - }>; - relationships?: { - accessGroups: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'accessGroup'; - id: number; - }>; - }; - agentErrors: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agentError'; - id: number; - }>; - }; - agentStats: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agentStat'; - id: number; - }>; - }; - assignments: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agentAssignment'; - id: number; - }>; - }; - chunks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'chunk'; - id: number; - }>; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; - user: { - links: { - self: string; - related: string; - }; - data?: { - type: 'user'; - id: number; - } | null; - }; + }>; + }; + assignments: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agentAssignment'; + id: number; + }>; + }; + chunks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'chunk'; + id: number; + }>; + }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; + }; + user: { + links: { + self: string; + related: string; + }; + data?: { + type: 'user'; + id: number; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'user'; attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - } | { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + } + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - } | { + } + | { id: number; type: 'agentStat'; attributes: { - agentId: number; - statType: 1 | 2 | 3; - time: number; - value: Array; + agentId: number; + statType: 1 | 2 | 3; + time: number; + value: Array; }; - } | { + } + | { id: number; type: 'agentError'; attributes: { - agentId: number; - taskId: number; - chunkId: number; - time: number; - error: string; + agentId: number; + taskId: number; + chunkId: number; + time: number; + error: string; }; - } | { + } + | { id: number; type: 'chunk'; attributes: { - taskId: number; - skip: number; - length: number; - agentId: number; - dispatchTime: number; - solveTime: number; - checkpoint: number; - progress: number; - state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; - cracked: number; - speed: number; - }; - } | { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - } | { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + | { id: number; type: 'agentAssignment'; attributes: { - taskId: number; - agentId: number; - benchmark: string; + taskId: number; + agentId: number; + benchmark: string; }; - }>; + } + >; }; export type AgentRelationAssignments = { - data: Array<{ - type: 'assignments'; - id: number; - }>; + data: Array<{ + type: 'assignments'; + id: number; + }>; }; export type AgentRelationAssignmentsGetResponse = { - data: Array<{ - type: 'assignments'; - id: number; - }>; + data: Array<{ + type: 'assignments'; + id: number; + }>; }; export type AgentAssignmentCreate = { - data: { - type: 'agentAssignment'; - attributes: { - taskId: number; - agentId: number; - benchmark: string; - }; + data: { + type: 'agentAssignment'; + attributes: { + taskId: number; + agentId: number; + benchmark: string; }; + }; }; export type AgentAssignmentPatch = { - data: { - type: 'agentAssignment'; - attributes: { - benchmark?: string; - }; + data: { + type: 'agentAssignment'; + attributes: { + benchmark?: string; }; + }; }; export type AgentAssignmentResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'agentAssignment'; + attributes: { + taskId: number; + agentId: number; + benchmark: string; + }; + }; + relationships?: { + agent: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: { + type: 'agent'; id: number; - type: 'agentAssignment'; - attributes: { - taskId: number; - agentId: number; - benchmark: string; - }; + } | null; }; - relationships?: { - agent: { - links: { - self: string; - related: string; - }; - data?: { - type: 'agent'; - id: number; - } | null; - }; - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type AgentAssignmentPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'agentAssignment'; - attributes: { - taskId: number; - agentId: number; - benchmark: string; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'agentAssignment'; + attributes: { + taskId: number; + agentId: number; + benchmark: string; }; + }; }; export type AgentAssignmentListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'agentAssignment'; + attributes: { + taskId: number; + agentId: number; + benchmark: string; + }; + }>; + relationships?: { + agent: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'agent'; + id: number; + } | null; }; - data: Array<{ + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; id: number; - type: 'agentAssignment'; - attributes: { - taskId: number; - agentId: number; - benchmark: string; - }; - }>; - relationships?: { - agent: { - links: { - self: string; - related: string; - }; - data?: { - type: 'agent'; - id: number; - } | null; - }; - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type AgentAssignmentRelationTask = { - data: { - type: 'task'; - id: number; - }; + data: { + type: 'task'; + id: number; + }; }; export type AgentAssignmentRelationTaskGetResponse = { - data: { - type: 'task'; - id: number; - }; + data: { + type: 'task'; + id: number; + }; }; export type AgentBinaryCreate = { - data: { - type: 'agentBinary'; - attributes: { - binaryType: string; - version: string; - operatingSystems: string; - filename: string; - updateTrack: string; - }; + data: { + type: 'agentBinary'; + attributes: { + binaryType: string; + version: string; + operatingSystems: string; + filename: string; + updateTrack: string; }; + }; }; export type AgentBinaryPatch = { - data: { - type: 'agentBinary'; - attributes: { - binaryType?: string; - filename?: string; - operatingSystems?: string; - updateTrack?: string; - version?: string; - }; + data: { + type: 'agentBinary'; + attributes: { + binaryType?: string; + filename?: string; + operatingSystems?: string; + updateTrack?: string; + version?: string; }; + }; }; export type AgentBinaryResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'agentBinary'; - attributes: { - binaryType: string; - version: string; - operatingSystems: string; - filename: string; - updateTrack: string; - updateAvailable: string; - }; - }; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'agentBinary'; + attributes: { + binaryType: string; + version: string; + operatingSystems: string; + filename: string; + updateTrack: string; + updateAvailable: string; + }; + }; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type AgentBinaryPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'agentBinary'; - attributes: { - binaryType: string; - version: string; - operatingSystems: string; - filename: string; - updateTrack: string; - updateAvailable: string; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'agentBinary'; + attributes: { + binaryType: string; + version: string; + operatingSystems: string; + filename: string; + updateTrack: string; + updateAvailable: string; + }; + }; }; export type AgentBinaryListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'agentBinary'; - attributes: { - binaryType: string; - version: string; - operatingSystems: string; - filename: string; - updateTrack: string; - updateAvailable: string; - }; - }>; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'agentBinary'; + attributes: { + binaryType: string; + version: string; + operatingSystems: string; + filename: string; + updateTrack: string; + updateAvailable: string; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type AgentErrorResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'agentError'; + attributes: { + agentId: number; + taskId: number; + chunkId: number; + time: number; + error: string; + }; + }; + relationships?: { + task: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'agentError'; - attributes: { - agentId: number; - taskId: number; - chunkId: number; - time: number; - error: string; - }; - }; - relationships?: { - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: { type: 'task'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + id: number; + } | null; + }; + }; + included?: Array<{ + id: number; + type: 'task'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + }>; }; export type AgentErrorListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'agentError'; + attributes: { + agentId: number; + taskId: number; + chunkId: number; + time: number; + error: string; + }; + }>; + relationships?: { + task: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'agentError'; - attributes: { - agentId: number; - taskId: number; - chunkId: number; - time: number; - error: string; - }; - }>; - relationships?: { - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: { type: 'task'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + id: number; + } | null; + }; + }; + included?: Array<{ + id: number; + type: 'task'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + }>; }; export type AgentErrorRelationTask = { - data: { - type: 'task'; - id: number; - }; + data: { + type: 'task'; + id: number; + }; }; export type AgentErrorRelationTaskGetResponse = { - data: { - type: 'task'; - id: number; - }; + data: { + type: 'task'; + id: number; + }; }; export type AgentStatResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'agentStat'; - attributes: { - agentId: number; - statType: 1 | 2 | 3; - time: number; - value: Array; - }; - }; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'agentStat'; + attributes: { + agentId: number; + statType: 1 | 2 | 3; + time: number; + value: Array; + }; + }; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type AgentStatListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'agentStat'; - attributes: { - agentId: number; - statType: 1 | 2 | 3; - time: number; - value: Array; - }; - }>; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'agentStat'; + attributes: { + agentId: number; + statType: 1 | 2 | 3; + time: number; + value: Array; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type ApiTokenCreate = { - data: { - type: 'apiToken'; - attributes: { - scopes: Array; - startValid: number; - endValid: number; - userId: number; - isRevoked: boolean; - }; + data: { + type: 'apiToken'; + attributes: { + scopes: Array; + startValid: number; + endValid: number; + userId: number; + isRevoked: boolean; }; + }; }; export type ApiTokenPatch = { - data: { - type: 'apiToken'; - attributes: { - isRevoked?: boolean; - }; + data: { + type: 'apiToken'; + attributes: { + isRevoked?: boolean; }; + }; }; export type ApiTokenResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'apiToken'; + attributes: { + startValid: number; + endValid: number; + userId: number; + isRevoked: boolean; + token: string; + }; + }; + relationships?: { + user: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'apiToken'; - attributes: { - startValid: number; - endValid: number; - userId: number; - isRevoked: boolean; - token: string; - }; - }; - relationships?: { - user: { - links: { - self: string; - related: string; - }; - data?: { - type: 'user'; - id: number; - } | null; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: { type: 'user'; - attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - }>; + id: number; + } | null; + }; + }; + included?: Array<{ + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }>; }; export type ApiTokenPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'apiToken'; - attributes: { - startValid: number; - endValid: number; - userId: number; - isRevoked: boolean; - token: string; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'apiToken'; + attributes: { + startValid: number; + endValid: number; + userId: number; + isRevoked: boolean; + token: string; + }; + }; }; export type ApiTokenListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'apiToken'; + attributes: { + startValid: number; + endValid: number; + userId: number; + isRevoked: boolean; + token: string; + }; + }>; + relationships?: { + user: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'apiToken'; - attributes: { - startValid: number; - endValid: number; - userId: number; - isRevoked: boolean; - token: string; - }; - }>; - relationships?: { - user: { - links: { - self: string; - related: string; - }; - data?: { - type: 'user'; - id: number; - } | null; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: { type: 'user'; - attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - }>; + id: number; + } | null; + }; + }; + included?: Array<{ + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }>; }; export type ApiTokenRelationUser = { - data: { - type: 'user'; - id: number; - }; + data: { + type: 'user'; + id: number; + }; }; export type ApiTokenRelationUserGetResponse = { - data: { - type: 'user'; - id: number; - }; + data: { + type: 'user'; + id: number; + }; }; export type ChunkResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'chunk'; + attributes: { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + }; + relationships?: { + agent: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: { + type: 'agent'; id: number; - type: 'chunk'; - attributes: { - taskId: number; - skip: number; - length: number; - agentId: number; - dispatchTime: number; - solveTime: number; - checkpoint: number; - progress: number; - state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; - cracked: number; - speed: number; - }; + } | null; }; - relationships?: { - agent: { - links: { - self: string; - related: string; - }; - data?: { - type: 'agent'; - id: number; - } | null; - }; - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type ChunkListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'chunk'; + attributes: { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + }>; + relationships?: { + agent: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'agent'; + id: number; + } | null; }; - data: Array<{ + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; id: number; - type: 'chunk'; - attributes: { - taskId: number; - skip: number; - length: number; - agentId: number; - dispatchTime: number; - solveTime: number; - checkpoint: number; - progress: number; - state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; - cracked: number; - speed: number; - }; - }>; - relationships?: { - agent: { - links: { - self: string; - related: string; - }; - data?: { - type: 'agent'; - id: number; - } | null; - }; - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type ChunkRelationTask = { - data: { - type: 'task'; - id: number; - }; + data: { + type: 'task'; + id: number; + }; }; export type ChunkRelationTaskGetResponse = { - data: { - type: 'task'; - id: number; - }; + data: { + type: 'task'; + id: number; + }; }; export type ConfigPatch = { - data: { - type: 'config'; - attributes: { - item?: string; - value?: string; - }; + data: { + type: 'config'; + attributes: { + item?: string; + value?: string; }; + }; }; export type ConfigResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'config'; + attributes: { + configSectionId: number; + item: string; + value: string; + }; + }; + relationships?: { + configSection: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: { + type: 'configSection'; id: number; - type: 'config'; - attributes: { - configSectionId: number; - item: string; - value: string; - }; + } | null; }; - relationships?: { - configSection: { - links: { - self: string; - related: string; - }; - data?: { - type: 'configSection'; - id: number; - } | null; - }; + }; + included?: Array<{ + id: number; + type: 'configSection'; + attributes: { + sectionName: string; }; - included?: Array<{ - id: number; - type: 'configSection'; - attributes: { - sectionName: string; - }; - }>; + }>; }; export type ConfigPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'config'; - attributes: { - configSectionId: number; - item: string; - value: string; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'config'; + attributes: { + configSectionId: number; + item: string; + value: string; }; + }; }; export type ConfigListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'config'; + attributes: { + configSectionId: number; + item: string; + value: string; + }; + }>; + relationships?: { + configSection: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ + related: string; + }; + data?: { + type: 'configSection'; id: number; - type: 'config'; - attributes: { - configSectionId: number; - item: string; - value: string; - }; - }>; - relationships?: { - configSection: { - links: { - self: string; - related: string; - }; - data?: { - type: 'configSection'; - id: number; - } | null; - }; + } | null; }; - included?: Array<{ - id: number; - type: 'configSection'; - attributes: { - sectionName: string; - }; - }>; + }; + included?: Array<{ + id: number; + type: 'configSection'; + attributes: { + sectionName: string; + }; + }>; }; export type ConfigRelationConfigSection = { - data: { - type: 'configSection'; - id: number; - }; + data: { + type: 'configSection'; + id: number; + }; }; export type ConfigRelationConfigSectionGetResponse = { - data: { - type: 'configSection'; - id: number; - }; + data: { + type: 'configSection'; + id: number; + }; }; export type ConfigSectionResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'configSection'; - attributes: { - sectionName: string; - }; - }; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'configSection'; + attributes: { + sectionName: string; + }; + }; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type ConfigSectionListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'configSection'; - attributes: { - sectionName: string; - }; - }>; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'configSection'; + attributes: { + sectionName: string; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type CrackerBinaryCreate = { - data: { - type: 'crackerBinary'; - attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; - }; + data: { + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; }; + }; }; export type CrackerBinaryPatch = { - data: { - type: 'crackerBinary'; - attributes: { - binaryName?: string; - downloadUrl?: string; - version?: string; - }; + data: { + type: 'crackerBinary'; + attributes: { + binaryName?: string; + downloadUrl?: string; + version?: string; }; + }; }; export type CrackerBinaryResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + }; + relationships?: { + crackerBinaryType: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: { + type: 'crackerBinaryType'; id: number; - type: 'crackerBinary'; - attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; - }; + } | null; }; - relationships?: { - crackerBinaryType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'crackerBinaryType'; - id: number; - } | null; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'crackerBinaryType'; attributes: { - typeName: string; - isChunkingAvailable: boolean; + typeName: string; + isChunkingAvailable: boolean; }; - } | { + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type CrackerBinaryPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'crackerBinary'; - attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + }; }; export type CrackerBinaryListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'crackerBinary'; + attributes: { + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; + }; + }>; + relationships?: { + crackerBinaryType: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'crackerBinaryType'; + id: number; + } | null; }; - data: Array<{ + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; id: number; - type: 'crackerBinary'; - attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; - }; - }>; - relationships?: { - crackerBinaryType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'crackerBinaryType'; - id: number; - } | null; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'crackerBinaryType'; attributes: { - typeName: string; - isChunkingAvailable: boolean; + typeName: string; + isChunkingAvailable: boolean; }; - } | { + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type CrackerBinaryRelationTasks = { - data: Array<{ - type: 'tasks'; - id: number; - }>; + data: Array<{ + type: 'tasks'; + id: number; + }>; }; export type CrackerBinaryRelationTasksGetResponse = { - data: Array<{ - type: 'tasks'; - id: number; - }>; + data: Array<{ + type: 'tasks'; + id: number; + }>; }; export type CrackerBinaryTypeCreate = { - data: { - type: 'crackerBinaryType'; - attributes: { - typeName: string; - }; + data: { + type: 'crackerBinaryType'; + attributes: { + typeName: string; }; + }; }; export type CrackerBinaryTypePatch = { - data: { - type: 'crackerBinaryType'; - attributes: { - isChunkingAvailable?: boolean; - typeName?: string; - }; + data: { + type: 'crackerBinaryType'; + attributes: { + isChunkingAvailable?: boolean; + typeName?: string; }; + }; }; export type CrackerBinaryTypeResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; + }; + }; + relationships?: { + crackerVersions: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: Array<{ + type: 'crackerBinary'; id: number; - type: 'crackerBinaryType'; - attributes: { - typeName: string; - isChunkingAvailable: boolean; - }; + }>; }; - relationships?: { - crackerVersions: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'crackerBinary'; - id: number; - }>; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'crackerBinary'; attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; }; - } | { + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type CrackerBinaryTypePostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'crackerBinaryType'; - attributes: { - typeName: string; - isChunkingAvailable: boolean; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; }; + }; }; export type CrackerBinaryTypeListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'crackerBinaryType'; + attributes: { + typeName: string; + isChunkingAvailable: boolean; + }; + }>; + relationships?: { + crackerVersions: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: Array<{ + type: 'crackerBinary'; + id: number; + }>; }; - data: Array<{ + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; id: number; - type: 'crackerBinaryType'; - attributes: { - typeName: string; - isChunkingAvailable: boolean; - }; - }>; - relationships?: { - crackerVersions: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'crackerBinary'; - id: number; - }>; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'crackerBinary'; attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; }; - } | { + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type CrackerBinaryTypeRelationTasks = { - data: Array<{ - type: 'tasks'; - id: number; - }>; + data: Array<{ + type: 'tasks'; + id: number; + }>; }; export type CrackerBinaryTypeRelationTasksGetResponse = { - data: Array<{ - type: 'tasks'; - id: number; - }>; + data: Array<{ + type: 'tasks'; + id: number; + }>; }; export type FileCreate = { - data: { - type: 'file'; - attributes: { - sourceType: string; - sourceData: string; - filename: string; - isSecret: boolean; - fileType: 0 | 1 | 2 | 100; - accessGroupId: number; - }; + data: { + type: 'file'; + attributes: { + sourceType: string; + sourceData: string; + filename: string; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; }; + }; }; export type FilePatch = { - data: { - type: 'file'; - attributes: { - accessGroupId?: number; - fileType?: 0 | 1 | 2 | 100; - filename?: string; - isSecret?: boolean; - }; + data: { + type: 'file'; + attributes: { + accessGroupId?: number; + fileType?: 0 | 1 | 2 | 100; + filename?: string; + isSecret?: boolean; }; + }; }; export type FileResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; + }; + }; + relationships?: { + accessGroup: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: { + type: 'accessGroup'; id: number; - type: 'file'; - attributes: { - filename: string; - size: number; - isSecret: boolean; - fileType: 0 | 1 | 2 | 100; - accessGroupId: number; - lineCount: number; - }; + } | null; }; - relationships?: { - accessGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'accessGroup'; - id: number; - } | null; - }; + }; + included?: Array<{ + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; }; - included?: Array<{ - id: number; - type: 'accessGroup'; - attributes: { - groupName: string; - }; - }>; + }>; }; export type FileSingleResponse = { - data: { + data: { + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; + }; + }; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; id: number; - type: 'file'; - attributes: { - filename: string; - size: number; - isSecret: boolean; - fileType: 0 | 1 | 2 | 100; - accessGroupId: number; - lineCount: number; - }; + } | null; }; - relationships?: { - accessGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'accessGroup'; - id: number; - } | null; - }; + }; + included?: Array<{ + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; }; - included?: Array<{ - id: number; - type: 'accessGroup'; - attributes: { - groupName: string; - }; - }>; + }>; }; export type FilePostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'file'; - attributes: { - filename: string; - size: number; - isSecret: boolean; - fileType: 0 | 1 | 2 | 100; - accessGroupId: number; - lineCount: number; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; + }; + }; }; export type FileListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; + }; + }>; + relationships?: { + accessGroup: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ + related: string; + }; + data?: { + type: 'accessGroup'; id: number; - type: 'file'; - attributes: { - filename: string; - size: number; - isSecret: boolean; - fileType: 0 | 1 | 2 | 100; - accessGroupId: number; - lineCount: number; - }; - }>; - relationships?: { - accessGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'accessGroup'; - id: number; - } | null; - }; + } | null; }; - included?: Array<{ - id: number; - type: 'accessGroup'; - attributes: { - groupName: string; - }; - }>; + }; + included?: Array<{ + id: number; + type: 'accessGroup'; + attributes: { + groupName: string; + }; + }>; }; export type FileRelationAccessGroup = { - data: { - type: 'accessGroup'; - id: number; - }; + data: { + type: 'accessGroup'; + id: number; + }; }; export type FileRelationAccessGroupGetResponse = { - data: { - type: 'accessGroup'; - id: number; - }; + data: { + type: 'accessGroup'; + id: number; + }; }; export type GlobalPermissionGroupCreate = { - data: { - type: 'globalPermissionGroup'; - attributes: { - name: string; - permissions: { - [key: string]: boolean; - }; - }; + data: { + type: 'globalPermissionGroup'; + attributes: { + name: string; + permissions: { + [key: string]: boolean; + }; }; + }; }; export type GlobalPermissionGroupPatch = { - data: { - type: 'globalPermissionGroup'; - attributes: { - name?: string; - permissions?: { - [key: string]: boolean; - }; - }; + data: { + type: 'globalPermissionGroup'; + attributes: { + name?: string; + permissions?: { + [key: string]: boolean; + }; }; + }; }; export type GlobalPermissionGroupResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'globalPermissionGroup'; + attributes: { + name: string; + permissions: { + [key: string]: boolean; + }; + }; + }; + relationships?: { + userMembers: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'globalPermissionGroup'; - attributes: { - name: string; - permissions: { - [key: string]: boolean; - }; - }; - }; - relationships?: { - userMembers: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'user'; - id: number; - }>; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: Array<{ type: 'user'; - attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - }>; + id: number; + }>; + }; + }; + included?: Array<{ + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }>; }; export type GlobalPermissionGroupPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'globalPermissionGroup'; - attributes: { - name: string; - permissions: { - [key: string]: boolean; - }; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'globalPermissionGroup'; + attributes: { + name: string; + permissions: { + [key: string]: boolean; + }; + }; + }; }; export type GlobalPermissionGroupListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'globalPermissionGroup'; + attributes: { + name: string; + permissions: { + [key: string]: boolean; + }; + }; + }>; + relationships?: { + userMembers: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'globalPermissionGroup'; - attributes: { - name: string; - permissions: { - [key: string]: boolean; - }; - }; - }>; - relationships?: { - userMembers: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'user'; - id: number; - }>; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: Array<{ type: 'user'; - attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - }>; + id: number; + }>; + }; + }; + included?: Array<{ + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }>; }; export type GlobalPermissionGroupRelationUserMembers = { - data: Array<{ - type: 'userMembers'; - id: number; - }>; + data: Array<{ + type: 'userMembers'; + id: number; + }>; }; export type GlobalPermissionGroupRelationUserMembersGetResponse = { - data: Array<{ - type: 'userMembers'; - id: number; - }>; + data: Array<{ + type: 'userMembers'; + id: number; + }>; }; export type HashResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'hash'; + attributes: { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; + }; + }; + relationships?: { + chunk: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: { + type: 'chunk'; id: number; - type: 'hash'; - attributes: { - hashlistId: number; - hash: string; - salt: string; - plaintext: string; - timeCracked: number; - chunkId: number; - isCracked: boolean; - crackPos: number; - }; + } | null; }; - relationships?: { - chunk: { - links: { - self: string; - related: string; - }; - data?: { - type: 'chunk'; - id: number; - } | null; - }; - hashlist: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashlist'; - id: number; - } | null; - }; + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; + id: number; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'chunk'; attributes: { - taskId: number; - skip: number; - length: number; - agentId: number; - dispatchTime: number; - solveTime: number; - checkpoint: number; - progress: number; - state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; - cracked: number; - speed: number; - }; - } | { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - }>; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + >; }; export type HashListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'hash'; + attributes: { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; + }; + }>; + relationships?: { + chunk: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'chunk'; + id: number; + } | null; }; - data: Array<{ + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; id: number; - type: 'hash'; - attributes: { - hashlistId: number; - hash: string; - salt: string; - plaintext: string; - timeCracked: number; - chunkId: number; - isCracked: boolean; - crackPos: number; - }; - }>; - relationships?: { - chunk: { - links: { - self: string; - related: string; - }; - data?: { - type: 'chunk'; - id: number; - } | null; - }; - hashlist: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashlist'; - id: number; - } | null; - }; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'chunk'; attributes: { - taskId: number; - skip: number; - length: number; - agentId: number; - dispatchTime: number; - solveTime: number; - checkpoint: number; - progress: number; - state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; - cracked: number; - speed: number; - }; - } | { + taskId: number; + skip: number; + length: number; + agentId: number; + dispatchTime: number; + solveTime: number; + checkpoint: number; + progress: number; + state: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + cracked: number; + speed: number; + }; + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - }>; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + >; }; export type HashRelationHashlist = { - data: { - type: 'hashlist'; - id: number; - }; + data: { + type: 'hashlist'; + id: number; + }; }; export type HashRelationHashlistGetResponse = { - data: { - type: 'hashlist'; - id: number; - }; + data: { + type: 'hashlist'; + id: number; + }; }; export type HashlistCreate = { - data: { - type: 'hashlist'; - attributes: { - hashlistSeperator?: string | null; - sourceType: string; - sourceData: string; - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator?: string | null; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - }; + data: { + type: 'hashlist'; + attributes: { + hashlistSeperator?: string | null; + sourceType: string; + sourceData: string; + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator?: string | null; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + }; }; export type HashlistPatch = { - data: { - type: 'hashlist'; - attributes: { - accessGroupId?: number; - isArchived?: boolean; - isSecret?: boolean; - name?: string; - notes?: string; - }; + data: { + type: 'hashlist'; + attributes: { + accessGroupId?: number; + isArchived?: boolean; + isSecret?: boolean; + name?: string; + notes?: string; }; + }; }; export type HashlistResponse = { - jsonapi: { - version: string; - ext?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'hashlist'; + attributes: { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + }; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; - links?: { + hashType: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - data: { + hashes: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'hash'; id: number; + }>; + }; + hashlists: { + links: { + self: string; + related: string; + }; + data?: Array<{ type: 'hashlist'; - attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; + id: number; + }>; }; - relationships?: { - accessGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'accessGroup'; - id: number; - } | null; - }; - hashType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashType'; - id: number; - } | null; - }; - hashes: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'hash'; - id: number; - }>; - }; - hashlists: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'hashlist'; - id: number; - }>; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - } | { + } + | { id: number; type: 'hashType'; attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; - } | { + } + | { id: number; type: 'hash'; attributes: { - hashlistId: number; - hash: string; - salt: string; - plaintext: string; - timeCracked: number; - chunkId: number; - isCracked: boolean; - crackPos: number; - }; - } | { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; + }; + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - } | { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type HashlistSingleResponse = { - data: { + data: { + id: number; + type: 'hashlist'; + attributes: { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + }; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; + id: number; + } | null; + }; + hashType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashType'; + id: number; + } | null; + }; + hashes: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'hash'; id: number; + }>; + }; + hashlists: { + links: { + self: string; + related: string; + }; + data?: Array<{ type: 'hashlist'; - attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; + id: number; + }>; }; - relationships?: { - accessGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'accessGroup'; - id: number; - } | null; - }; - hashType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashType'; - id: number; - } | null; - }; - hashes: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'hash'; - id: number; - }>; - }; - hashlists: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'hashlist'; - id: number; - }>; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - } | { + } + | { id: number; type: 'hashType'; attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; - } | { + } + | { id: number; type: 'hash'; attributes: { - hashlistId: number; - hash: string; - salt: string; - plaintext: string; - timeCracked: number; - chunkId: number; - isCracked: boolean; - crackPos: number; - }; - } | { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; + }; + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - } | { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type HashlistPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'hashlist'; - attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'hashlist'; + attributes: { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + }; }; export type HashlistListResponse = { - jsonapi: { - version: string; - ext?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'hashlist'; + attributes: { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + }>; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; - links?: { + hashType: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - data: Array<{ + hashes: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'hash'; id: number; + }>; + }; + hashlists: { + links: { + self: string; + related: string; + }; + data?: Array<{ type: 'hashlist'; - attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - }>; - relationships?: { - accessGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'accessGroup'; - id: number; - } | null; - }; - hashType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashType'; - id: number; - } | null; - }; - hashes: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'hash'; - id: number; - }>; - }; - hashlists: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'hashlist'; - id: number; - }>; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + id: number; + }>; + }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - } | { + } + | { id: number; type: 'hashType'; attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; - } | { + } + | { id: number; type: 'hash'; attributes: { - hashlistId: number; - hash: string; - salt: string; - plaintext: string; - timeCracked: number; - chunkId: number; - isCracked: boolean; - crackPos: number; - }; - } | { + hashlistId: number; + hash: string; + salt: string; + plaintext: string; + timeCracked: number; + chunkId: number; + isCracked: boolean; + crackPos: number; + }; + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - } | { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type HashlistRelationTasks = { - data: Array<{ - type: 'tasks'; - id: number; - }>; + data: Array<{ + type: 'tasks'; + id: number; + }>; }; export type HashlistRelationTasksGetResponse = { - data: Array<{ - type: 'tasks'; - id: number; - }>; + data: Array<{ + type: 'tasks'; + id: number; + }>; }; export type HashTypeCreate = { - data: { - type: 'hashType'; - attributes: { - hashTypeId: number; - description: string; - isSalted: boolean; - isSlowHash: boolean; - }; + data: { + type: 'hashType'; + attributes: { + hashTypeId: number; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; + }; }; export type HashTypePatch = { - data: { - type: 'hashType'; - attributes: { - description?: string; - isSalted?: boolean; - isSlowHash?: boolean; - }; + data: { + type: 'hashType'; + attributes: { + description?: string; + isSalted?: boolean; + isSlowHash?: boolean; }; + }; }; export type HashTypeResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'hashType'; - attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; - }; - }; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + }; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type HashTypePostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'hashType'; - attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; }; + }; }; export type HashTypeListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'hashType'; - attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; - }; - }>; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'hashType'; + attributes: { + description: string; + isSalted: boolean; + isSlowHash: boolean; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type HealthCheckAgentResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'healthCheckAgent'; + attributes: { + healthCheckId: number; + agentId: number; + status: -1 | 0 | 1; + cracked: number; + numGpus: number; + start: number; + end: number; + errors: string; + }; + }; + relationships?: { + agent: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: { + type: 'agent'; id: number; - type: 'healthCheckAgent'; - attributes: { - healthCheckId: number; - agentId: number; - status: -1 | 0 | 1; - cracked: number; - numGpus: number; - start: number; - end: number; - errors: string; - }; + } | null; }; - relationships?: { - agent: { - links: { - self: string; - related: string; - }; - data?: { - type: 'agent'; - id: number; - } | null; - }; - healthCheck: { - links: { - self: string; - related: string; - }; - data?: { - type: 'healthCheck'; - id: number; - } | null; - }; + healthCheck: { + links: { + self: string; + related: string; + }; + data?: { + type: 'healthCheck'; + id: number; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'healthCheck'; attributes: { - time: number; - status: -1 | 0 | 1; - checkType: 0 | 3200; - hashtypeId: number; - crackerBinaryId: number; - expectedCracks: number; - attackCmd: string; + time: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; }; - }>; + } + >; }; export type HealthCheckAgentListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'healthCheckAgent'; + attributes: { + healthCheckId: number; + agentId: number; + status: -1 | 0 | 1; + cracked: number; + numGpus: number; + start: number; + end: number; + errors: string; + }; + }>; + relationships?: { + agent: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'agent'; + id: number; + } | null; }; - data: Array<{ + healthCheck: { + links: { + self: string; + related: string; + }; + data?: { + type: 'healthCheck'; id: number; - type: 'healthCheckAgent'; - attributes: { - healthCheckId: number; - agentId: number; - status: -1 | 0 | 1; - cracked: number; - numGpus: number; - start: number; - end: number; - errors: string; - }; - }>; - relationships?: { - agent: { - links: { - self: string; - related: string; - }; - data?: { - type: 'agent'; - id: number; - } | null; - }; - healthCheck: { - links: { - self: string; - related: string; - }; - data?: { - type: 'healthCheck'; - id: number; - } | null; - }; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'healthCheck'; attributes: { - time: number; - status: -1 | 0 | 1; - checkType: 0 | 3200; - hashtypeId: number; - crackerBinaryId: number; - expectedCracks: number; - attackCmd: string; + time: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; }; - }>; + } + >; }; export type HealthCheckAgentRelationHealthCheck = { - data: { - type: 'healthCheck'; - id: number; - }; + data: { + type: 'healthCheck'; + id: number; + }; }; export type HealthCheckAgentRelationHealthCheckGetResponse = { - data: { - type: 'healthCheck'; - id: number; - }; + data: { + type: 'healthCheck'; + id: number; + }; }; export type HealthCheckCreate = { - data: { - type: 'healthCheck'; - attributes: { - checkType: 0 | 3200; - hashtypeId: number; - crackerBinaryId: number; - }; + data: { + type: 'healthCheck'; + attributes: { + checkType: 0 | 3200; + hashtypeId: number; + crackerBinaryId: number; }; + }; }; export type HealthCheckPatch = { - data: { - type: 'healthCheck'; - attributes: { - checkType?: 0 | 3200; - }; + data: { + type: 'healthCheck'; + attributes: { + checkType?: 0 | 3200; }; + }; }; export type HealthCheckResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'healthCheck'; + attributes: { + time: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; + }; + }; + relationships?: { + crackerBinary: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'crackerBinary'; + id: number; + } | null; }; - data: { + hashType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashType'; id: number; - type: 'healthCheck'; - attributes: { - time: number; - status: -1 | 0 | 1; - checkType: 0 | 3200; - hashtypeId: number; - crackerBinaryId: number; - expectedCracks: number; - attackCmd: string; - }; + } | null; }; - relationships?: { - crackerBinary: { - links: { - self: string; - related: string; - }; - data?: { - type: 'crackerBinary'; - id: number; - } | null; - }; - hashType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashType'; - id: number; - } | null; - }; - healthCheckAgents: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'healthCheckAgent'; - id: number; - }>; - }; + healthCheckAgents: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'healthCheckAgent'; + id: number; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'crackerBinary'; attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; }; - } | { + } + | { id: number; type: 'hashType'; attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; - } | { + } + | { id: number; type: 'healthCheckAgent'; attributes: { - healthCheckId: number; - agentId: number; - status: -1 | 0 | 1; - cracked: number; - numGpus: number; - start: number; - end: number; - errors: string; + healthCheckId: number; + agentId: number; + status: -1 | 0 | 1; + cracked: number; + numGpus: number; + start: number; + end: number; + errors: string; }; - }>; + } + >; }; export type HealthCheckPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'healthCheck'; - attributes: { - time: number; - status: -1 | 0 | 1; - checkType: 0 | 3200; - hashtypeId: number; - crackerBinaryId: number; - expectedCracks: number; - attackCmd: string; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'healthCheck'; + attributes: { + time: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; + }; + }; }; export type HealthCheckListResponse = { - jsonapi: { - version: string; - ext?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'healthCheck'; + attributes: { + time: number; + status: -1 | 0 | 1; + checkType: 0 | 3200; + hashtypeId: number; + crackerBinaryId: number; + expectedCracks: number; + attackCmd: string; + }; + }>; + relationships?: { + crackerBinary: { + links: { + self: string; + related: string; + }; + data?: { + type: 'crackerBinary'; + id: number; + } | null; }; - links?: { + hashType: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - data: Array<{ + healthCheckAgents: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'healthCheckAgent'; id: number; - type: 'healthCheck'; - attributes: { - time: number; - status: -1 | 0 | 1; - checkType: 0 | 3200; - hashtypeId: number; - crackerBinaryId: number; - expectedCracks: number; - attackCmd: string; - }; - }>; - relationships?: { - crackerBinary: { - links: { - self: string; - related: string; - }; - data?: { - type: 'crackerBinary'; - id: number; - } | null; - }; - hashType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashType'; - id: number; - } | null; - }; - healthCheckAgents: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'healthCheckAgent'; - id: number; - }>; - }; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'crackerBinary'; attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; }; - } | { + } + | { id: number; type: 'hashType'; attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; - } | { + } + | { id: number; type: 'healthCheckAgent'; attributes: { - healthCheckId: number; - agentId: number; - status: -1 | 0 | 1; - cracked: number; - numGpus: number; - start: number; - end: number; - errors: string; + healthCheckId: number; + agentId: number; + status: -1 | 0 | 1; + cracked: number; + numGpus: number; + start: number; + end: number; + errors: string; }; - }>; + } + >; }; export type HealthCheckRelationHealthCheckAgents = { - data: Array<{ - type: 'healthCheckAgents'; - id: number; - }>; + data: Array<{ + type: 'healthCheckAgents'; + id: number; + }>; }; export type HealthCheckRelationHealthCheckAgentsGetResponse = { - data: Array<{ - type: 'healthCheckAgents'; - id: number; - }>; + data: Array<{ + type: 'healthCheckAgents'; + id: number; + }>; }; export type LogEntryCreate = { - data: { - type: 'logEntry'; - attributes: { - [key: string]: unknown; - }; + data: { + type: 'logEntry'; + attributes: { + [key: string]: unknown; }; + }; }; export type LogEntryPatch = { - data: { - type: 'logEntry'; - attributes: { - [key: string]: unknown; - }; + data: { + type: 'logEntry'; + attributes: { + [key: string]: unknown; }; + }; }; export type LogEntryResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'logEntry'; - attributes: { - issuer: 'API' | 'User'; - issuerId: string; - level: 'warning' | 'error' | 'fatal error' | 'information'; - message: string; - time: number; - }; - }; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'logEntry'; + attributes: { + issuer: 'API' | 'User'; + issuerId: string; + level: 'warning' | 'error' | 'fatal error' | 'information'; + message: string; + time: number; + }; + }; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type LogEntryPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'logEntry'; - attributes: { - issuer: 'API' | 'User'; - issuerId: string; - level: 'warning' | 'error' | 'fatal error' | 'information'; - message: string; - time: number; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'logEntry'; + attributes: { + issuer: 'API' | 'User'; + issuerId: string; + level: 'warning' | 'error' | 'fatal error' | 'information'; + message: string; + time: number; + }; + }; }; export type LogEntryListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'logEntry'; - attributes: { - issuer: 'API' | 'User'; - issuerId: string; - level: 'warning' | 'error' | 'fatal error' | 'information'; - message: string; - time: number; - }; - }>; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'logEntry'; + attributes: { + issuer: 'API' | 'User'; + issuerId: string; + level: 'warning' | 'error' | 'fatal error' | 'information'; + message: string; + time: number; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type NotificationSettingCreate = { - data: { - type: 'notificationSetting'; - attributes: { - actionFilter: string; - action: 'createNotification' | 'setActive' | 'deleteNotification'; - notification: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; - receiver: string; - }; - }; + data: { + type: 'notificationSetting'; + attributes: { + actionFilter: string; + action: 'createNotification' | 'setActive' | 'deleteNotification'; + notification: + | 'taskComplete' + | 'agentError' + | 'ownAgentError' + | 'logError' + | 'newTask' + | 'newHashlist' + | 'hashlistAllCracked' + | 'hashlistCrackedHash' + | 'userCreated' + | 'userDeleted' + | 'userLoginFailed' + | 'logWarn' + | 'logFatal' + | 'newAgent' + | 'deleteTask' + | 'deleteHashlist' + | 'deleteAgent'; + receiver: string; + }; + }; }; export type NotificationSettingPatch = { - data: { - type: 'notificationSetting'; - attributes: { - action?: 'createNotification' | 'setActive' | 'deleteNotification'; - isActive?: boolean; - notification?: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; - receiver?: string; - }; - }; + data: { + type: 'notificationSetting'; + attributes: { + action?: 'createNotification' | 'setActive' | 'deleteNotification'; + isActive?: boolean; + notification?: + | 'taskComplete' + | 'agentError' + | 'ownAgentError' + | 'logError' + | 'newTask' + | 'newHashlist' + | 'hashlistAllCracked' + | 'hashlistCrackedHash' + | 'userCreated' + | 'userDeleted' + | 'userLoginFailed' + | 'logWarn' + | 'logFatal' + | 'newAgent' + | 'deleteTask' + | 'deleteHashlist' + | 'deleteAgent'; + receiver?: string; + }; + }; }; export type NotificationSettingResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'notificationSetting'; + attributes: { + action: 'createNotification' | 'setActive' | 'deleteNotification'; + objectId: number; + notification: + | 'taskComplete' + | 'agentError' + | 'ownAgentError' + | 'logError' + | 'newTask' + | 'newHashlist' + | 'hashlistAllCracked' + | 'hashlistCrackedHash' + | 'userCreated' + | 'userDeleted' + | 'userLoginFailed' + | 'logWarn' + | 'logFatal' + | 'newAgent' + | 'deleteTask' + | 'deleteHashlist' + | 'deleteAgent'; + userId: number; + receiver: string; + isActive: boolean; + }; + }; + relationships?: { + user: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'notificationSetting'; - attributes: { - action: 'createNotification' | 'setActive' | 'deleteNotification'; - objectId: number; - notification: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; - userId: number; - receiver: string; - isActive: boolean; - }; - }; - relationships?: { - user: { - links: { - self: string; - related: string; - }; - data?: { - type: 'user'; - id: number; - } | null; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: { type: 'user'; - attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - }>; + id: number; + } | null; + }; + }; + included?: Array<{ + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }>; }; export type NotificationSettingPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'notificationSetting'; - attributes: { - action: 'createNotification' | 'setActive' | 'deleteNotification'; - objectId: number; - notification: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; - userId: number; - receiver: string; - isActive: boolean; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'notificationSetting'; + attributes: { + action: 'createNotification' | 'setActive' | 'deleteNotification'; + objectId: number; + notification: + | 'taskComplete' + | 'agentError' + | 'ownAgentError' + | 'logError' + | 'newTask' + | 'newHashlist' + | 'hashlistAllCracked' + | 'hashlistCrackedHash' + | 'userCreated' + | 'userDeleted' + | 'userLoginFailed' + | 'logWarn' + | 'logFatal' + | 'newAgent' + | 'deleteTask' + | 'deleteHashlist' + | 'deleteAgent'; + userId: number; + receiver: string; + isActive: boolean; + }; + }; }; export type NotificationSettingListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'notificationSetting'; + attributes: { + action: 'createNotification' | 'setActive' | 'deleteNotification'; + objectId: number; + notification: + | 'taskComplete' + | 'agentError' + | 'ownAgentError' + | 'logError' + | 'newTask' + | 'newHashlist' + | 'hashlistAllCracked' + | 'hashlistCrackedHash' + | 'userCreated' + | 'userDeleted' + | 'userLoginFailed' + | 'logWarn' + | 'logFatal' + | 'newAgent' + | 'deleteTask' + | 'deleteHashlist' + | 'deleteAgent'; + userId: number; + receiver: string; + isActive: boolean; + }; + }>; + relationships?: { + user: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'notificationSetting'; - attributes: { - action: 'createNotification' | 'setActive' | 'deleteNotification'; - objectId: number; - notification: 'taskComplete' | 'agentError' | 'ownAgentError' | 'logError' | 'newTask' | 'newHashlist' | 'hashlistAllCracked' | 'hashlistCrackedHash' | 'userCreated' | 'userDeleted' | 'userLoginFailed' | 'logWarn' | 'logFatal' | 'newAgent' | 'deleteTask' | 'deleteHashlist' | 'deleteAgent'; - userId: number; - receiver: string; - isActive: boolean; - }; - }>; - relationships?: { - user: { - links: { - self: string; - related: string; - }; - data?: { - type: 'user'; - id: number; - } | null; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: { type: 'user'; - attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - }>; + id: number; + } | null; + }; + }; + included?: Array<{ + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }>; }; export type NotificationSettingRelationUser = { - data: { - type: 'user'; - id: number; - }; + data: { + type: 'user'; + id: number; + }; }; export type NotificationSettingRelationUserGetResponse = { - data: { - type: 'user'; - id: number; - }; + data: { + type: 'user'; + id: number; + }; }; export type PreprocessorCreate = { - data: { - type: 'preprocessor'; - attributes: { - name: string; - url: string; - binaryName: string; - keyspaceCommand: string; - skipCommand: string; - limitCommand: string; - }; + data: { + type: 'preprocessor'; + attributes: { + name: string; + url: string; + binaryName: string; + keyspaceCommand: string; + skipCommand: string; + limitCommand: string; }; + }; }; export type PreprocessorPatch = { - data: { - type: 'preprocessor'; - attributes: { - binaryName?: string; - keyspaceCommand?: string; - limitCommand?: string; - name?: string; - skipCommand?: string; - url?: string; - }; + data: { + type: 'preprocessor'; + attributes: { + binaryName?: string; + keyspaceCommand?: string; + limitCommand?: string; + name?: string; + skipCommand?: string; + url?: string; }; + }; }; export type PreprocessorResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'preprocessor'; - attributes: { - name: string; - url: string; - binaryName: string; - keyspaceCommand: string; - skipCommand: string; - limitCommand: string; - }; - }; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'preprocessor'; + attributes: { + name: string; + url: string; + binaryName: string; + keyspaceCommand: string; + skipCommand: string; + limitCommand: string; + }; + }; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type PreprocessorPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'preprocessor'; - attributes: { - name: string; - url: string; - binaryName: string; - keyspaceCommand: string; - skipCommand: string; - limitCommand: string; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'preprocessor'; + attributes: { + name: string; + url: string; + binaryName: string; + keyspaceCommand: string; + skipCommand: string; + limitCommand: string; + }; + }; }; export type PreprocessorListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'preprocessor'; - attributes: { - name: string; - url: string; - binaryName: string; - keyspaceCommand: string; - skipCommand: string; - limitCommand: string; - }; - }>; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'preprocessor'; + attributes: { + name: string; + url: string; + binaryName: string; + keyspaceCommand: string; + skipCommand: string; + limitCommand: string; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type PreTaskCreate = { - data: { - type: 'preTask'; - attributes: { - files: Array; - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - priority: number; - maxAgents: number; - isMaskImport: boolean; - crackerBinaryTypeId: number; - }; - }; + data: { + type: 'preTask'; + attributes: { + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + }; + }; }; export type PreTaskPatch = { - data: { - type: 'preTask'; - attributes: { - attackCmd?: string; - chunkTime?: number; - color?: string; - crackerBinaryTypeId?: number; - isCpuTask?: boolean; - isMaskImport?: boolean; - isSmall?: boolean; - maxAgents?: number; - priority?: number; - statusTimer?: number; - taskName?: string; - }; - }; + data: { + type: 'preTask'; + attributes: { + attackCmd?: string; + chunkTime?: number; + color?: string; + crackerBinaryTypeId?: number; + isCpuTask?: boolean; + isMaskImport?: boolean; + isSmall?: boolean; + maxAgents?: number; + priority?: number; + statusTimer?: number; + taskName?: string; + }; + }; }; export type PreTaskResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'preTask'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + auxiliaryKeyspace: number; + }; + }; + relationships?: { + pretaskFiles: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: Array<{ + type: 'file'; id: number; - type: 'preTask'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - priority: number; - maxAgents: number; - isMaskImport: boolean; - crackerBinaryTypeId: number; - auxiliaryKeyspace: number; - }; + }>; }; - relationships?: { - pretaskFiles: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'file'; - id: number; - }>; - }; + }; + included?: Array<{ + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; }; - included?: Array<{ - id: number; - type: 'file'; - attributes: { - filename: string; - size: number; - isSecret: boolean; - fileType: 0 | 1 | 2 | 100; - accessGroupId: number; - lineCount: number; - }; - }>; + }>; }; export type PreTaskPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'preTask'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - priority: number; - maxAgents: number; - isMaskImport: boolean; - crackerBinaryTypeId: number; - auxiliaryKeyspace: number; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'preTask'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + auxiliaryKeyspace: number; + }; + }; }; export type PreTaskListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'preTask'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + auxiliaryKeyspace: number; + }; + }>; + relationships?: { + pretaskFiles: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ + related: string; + }; + data?: Array<{ + type: 'file'; id: number; - type: 'preTask'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - priority: number; - maxAgents: number; - isMaskImport: boolean; - crackerBinaryTypeId: number; - auxiliaryKeyspace: number; - }; - }>; - relationships?: { - pretaskFiles: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'file'; - id: number; - }>; - }; + }>; }; - included?: Array<{ - id: number; - type: 'file'; - attributes: { - filename: string; - size: number; - isSecret: boolean; - fileType: 0 | 1 | 2 | 100; - accessGroupId: number; - lineCount: number; - }; - }>; + }; + included?: Array<{ + id: number; + type: 'file'; + attributes: { + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; + }; + }>; }; export type PreTaskRelationPretaskFiles = { - data: Array<{ - type: 'pretaskFiles'; - id: number; - }>; + data: Array<{ + type: 'pretaskFiles'; + id: number; + }>; }; export type PreTaskRelationPretaskFilesGetResponse = { - data: Array<{ - type: 'pretaskFiles'; - id: number; - }>; + data: Array<{ + type: 'pretaskFiles'; + id: number; + }>; }; export type SpeedResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'speed'; + attributes: { + agentId: number; + taskId: number; + speed: number; + time: number; + }; + }; + relationships?: { + agent: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: { + type: 'agent'; id: number; - type: 'speed'; - attributes: { - agentId: number; - taskId: number; - speed: number; - time: number; - }; + } | null; }; - relationships?: { - agent: { - links: { - self: string; - related: string; - }; - data?: { - type: 'agent'; - id: number; - } | null; - }; - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type SpeedListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'speed'; + attributes: { + agentId: number; + taskId: number; + speed: number; + time: number; + }; + }>; + relationships?: { + agent: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'agent'; + id: number; + } | null; }; - data: Array<{ + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; id: number; - type: 'speed'; - attributes: { - agentId: number; - taskId: number; - speed: number; - time: number; - }; - }>; - relationships?: { - agent: { - links: { - self: string; - related: string; - }; - data?: { - type: 'agent'; - id: number; - } | null; - }; - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type SpeedRelationTask = { - data: { - type: 'task'; - id: number; - }; + data: { + type: 'task'; + id: number; + }; }; export type SpeedRelationTaskGetResponse = { - data: { - type: 'task'; - id: number; - }; + data: { + type: 'task'; + id: number; + }; }; export type SupertaskCreate = { - data: { - type: 'supertask'; - attributes: { - pretasks: Array; - supertaskName: string; - }; + data: { + type: 'supertask'; + attributes: { + pretasks: Array; + supertaskName: string; }; + }; }; export type SupertaskPatch = { - data: { - type: 'supertask'; - attributes: { - supertaskName?: string; - }; + data: { + type: 'supertask'; + attributes: { + supertaskName?: string; }; + }; }; export type SupertaskResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'supertask'; + attributes: { + supertaskName: string; + }; + }; + relationships?: { + pretasks: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'supertask'; - attributes: { - supertaskName: string; - }; - }; - relationships?: { - pretasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'preTask'; - id: number; - }>; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: Array<{ type: 'preTask'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - priority: number; - maxAgents: number; - isMaskImport: boolean; - crackerBinaryTypeId: number; - }; - }>; + id: number; + }>; + }; + }; + included?: Array<{ + id: number; + type: 'preTask'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + }; + }>; }; export type SupertaskSingleResponse = { - data: { - id: number; - type: 'supertask'; - attributes: { - supertaskName: string; - }; - }; - relationships?: { - pretasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'preTask'; - id: number; - }>; - }; - }; - included?: Array<{ - id: number; + data: { + id: number; + type: 'supertask'; + attributes: { + supertaskName: string; + }; + }; + relationships?: { + pretasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ type: 'preTask'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - priority: number; - maxAgents: number; - isMaskImport: boolean; - crackerBinaryTypeId: number; - }; - }>; + id: number; + }>; + }; + }; + included?: Array<{ + id: number; + type: 'preTask'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + }; + }>; }; export type SupertaskPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'supertask'; - attributes: { - supertaskName: string; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'supertask'; + attributes: { + supertaskName: string; }; + }; }; export type SupertaskListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'supertask'; + attributes: { + supertaskName: string; + }; + }>; + relationships?: { + pretasks: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'supertask'; - attributes: { - supertaskName: string; - }; - }>; - relationships?: { - pretasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'preTask'; - id: number; - }>; - }; - }; - included?: Array<{ - id: number; + related: string; + }; + data?: Array<{ type: 'preTask'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - color: string; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - priority: number; - maxAgents: number; - isMaskImport: boolean; - crackerBinaryTypeId: number; - }; - }>; + id: number; + }>; + }; + }; + included?: Array<{ + id: number; + type: 'preTask'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + color: string; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + priority: number; + maxAgents: number; + isMaskImport: boolean; + crackerBinaryTypeId: number; + }; + }>; }; export type SupertaskRelationPretasks = { - data: Array<{ - type: 'pretasks'; - id: number; - }>; + data: Array<{ + type: 'pretasks'; + id: number; + }>; }; export type SupertaskRelationPretasksGetResponse = { - data: Array<{ - type: 'pretasks'; - id: number; - }>; + data: Array<{ + type: 'pretasks'; + id: number; + }>; }; export type TaskCreate = { - data: { - type: 'task'; - attributes: { - hashlistId: number; - files: Array; - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - priority: number; - maxAgents: number; - color?: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }; + data: { + type: 'task'; + attributes: { + hashlistId: number; + files: Array; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + priority: number; + maxAgents: number; + color?: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + }; }; export type TaskPatch = { - data: { - type: 'task'; - attributes: { - attackCmd?: string; - chunkTime?: number; - color?: string | null; - isArchived?: boolean; - isCpuTask?: boolean; - isSmall?: boolean; - maxAgents?: number; - notes?: string; - priority?: number; - statusTimer?: number; - taskName?: string; - }; - }; + data: { + type: 'task'; + attributes: { + attackCmd?: string; + chunkTime?: number; + color?: string | null; + isArchived?: boolean; + isCpuTask?: boolean; + isSmall?: boolean; + maxAgents?: number; + notes?: string; + priority?: number; + statusTimer?: number; + taskName?: string; + }; + }; }; export type TaskResponse = { - jsonapi: { - version: string; - ext?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'task'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + activeAgents: number; + dispatched: string; + searched: string; + status: 0 | 1 | 2 | 3; + estimatedTime: number; + timeSpent: number; + currentSpeed: number; + cprogress: number; + }; + }; + relationships?: { + assignedAgents: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agent'; + id: number; + }>; }; - links?: { + crackerBinary: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'crackerBinary'; + id: number; + } | null; }; - data: { + crackerBinaryType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'crackerBinaryType'; id: number; - type: 'task'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - activeAgents: number; - dispatched: string; - searched: string; - status: 0 | 1 | 2 | 3; - estimatedTime: number; - timeSpent: number; - currentSpeed: number; - cprogress: number; - }; + } | null; }; - relationships?: { - assignedAgents: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agent'; - id: number; - }>; - }; - crackerBinary: { - links: { - self: string; - related: string; - }; - data?: { - type: 'crackerBinary'; - id: number; - } | null; - }; - crackerBinaryType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'crackerBinaryType'; - id: number; - } | null; - }; - files: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'file'; - id: number; - }>; - }; - hashlist: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashlist'; - id: number; - } | null; - }; - speeds: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'speed'; - id: number; - }>; - }; + files: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'file'; + id: number; + }>; }; - included?: Array<{ + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; + id: number; + } | null; + }; + speeds: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'speed'; + id: number; + }>; + }; + }; + included?: Array< + | { id: number; type: 'crackerBinary'; attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; }; - } | { + } + | { id: number; type: 'crackerBinaryType'; attributes: { - typeName: string; - isChunkingAvailable: boolean; + typeName: string; + isChunkingAvailable: boolean; }; - } | { + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - } | { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'file'; attributes: { - filename: string; - size: number; - isSecret: boolean; - fileType: 0 | 1 | 2 | 100; - accessGroupId: number; - lineCount: number; + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; }; - } | { + } + | { id: number; type: 'speed'; attributes: { - agentId: number; - taskId: number; - speed: number; - time: number; + agentId: number; + taskId: number; + speed: number; + time: number; }; - }>; + } + >; }; export type TaskPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'task'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - activeAgents: number; - dispatched: string; - searched: string; - status: 0 | 1 | 2 | 3; - estimatedTime: number; - timeSpent: number; - currentSpeed: number; - cprogress: number; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'task'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + activeAgents: number; + dispatched: string; + searched: string; + status: 0 | 1 | 2 | 3; + estimatedTime: number; + timeSpent: number; + currentSpeed: number; + cprogress: number; + }; + }; }; export type TaskListResponse = { - jsonapi: { - version: string; - ext?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'task'; + attributes: { + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + activeAgents: number; + dispatched: string; + searched: string; + status: 0 | 1 | 2 | 3; + estimatedTime: number; + timeSpent: number; + currentSpeed: number; + cprogress: number; + }; + }>; + relationships?: { + assignedAgents: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'agent'; + id: number; + }>; }; - links?: { + crackerBinary: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'crackerBinary'; + id: number; + } | null; }; - data: Array<{ + crackerBinaryType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'crackerBinaryType'; id: number; - type: 'task'; - attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - activeAgents: number; - dispatched: string; - searched: string; - status: 0 | 1 | 2 | 3; - estimatedTime: number; - timeSpent: number; - currentSpeed: number; - cprogress: number; - }; - }>; - relationships?: { - assignedAgents: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'agent'; - id: number; - }>; - }; - crackerBinary: { - links: { - self: string; - related: string; - }; - data?: { - type: 'crackerBinary'; - id: number; - } | null; - }; - crackerBinaryType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'crackerBinaryType'; - id: number; - } | null; - }; - files: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'file'; - id: number; - }>; - }; - hashlist: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashlist'; - id: number; - } | null; - }; - speeds: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'speed'; - id: number; - }>; - }; + } | null; + }; + files: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'file'; + id: number; + }>; + }; + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; + id: number; + } | null; }; - included?: Array<{ + speeds: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'speed'; + id: number; + }>; + }; + }; + included?: Array< + | { id: number; type: 'crackerBinary'; attributes: { - crackerBinaryTypeId: number; - version: string; - downloadUrl: string; - binaryName: string; + crackerBinaryTypeId: number; + version: string; + downloadUrl: string; + binaryName: string; }; - } | { + } + | { id: number; type: 'crackerBinaryType'; attributes: { - typeName: string; - isChunkingAvailable: boolean; + typeName: string; + isChunkingAvailable: boolean; }; - } | { + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - } | { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + | { id: number; type: 'agent'; attributes: { - agentName: string; - uid: string; - os: 0 | 1 | 2; - devices: string; - cmdPars: string; - ignoreErrors: 0 | 1 | 2; - isActive: boolean; - isTrusted: boolean; - token: string; - lastAct: string; - lastTime: number; - lastIp: string; - userId: number | null; - cpuOnly: boolean; - clientSignature: string; - }; - } | { + agentName: string; + uid: string; + os: 0 | 1 | 2; + devices: string; + cmdPars: string; + ignoreErrors: 0 | 1 | 2; + isActive: boolean; + isTrusted: boolean; + token: string; + lastAct: string; + lastTime: number; + lastIp: string; + userId: number | null; + cpuOnly: boolean; + clientSignature: string; + }; + } + | { id: number; type: 'file'; attributes: { - filename: string; - size: number; - isSecret: boolean; - fileType: 0 | 1 | 2 | 100; - accessGroupId: number; - lineCount: number; + filename: string; + size: number; + isSecret: boolean; + fileType: 0 | 1 | 2 | 100; + accessGroupId: number; + lineCount: number; }; - } | { + } + | { id: number; type: 'speed'; attributes: { - agentId: number; - taskId: number; - speed: number; - time: number; + agentId: number; + taskId: number; + speed: number; + time: number; }; - }>; + } + >; }; export type TaskRelationSpeeds = { - data: Array<{ - type: 'speeds'; - id: number; - }>; + data: Array<{ + type: 'speeds'; + id: number; + }>; }; export type TaskRelationSpeedsGetResponse = { - data: Array<{ - type: 'speeds'; - id: number; - }>; + data: Array<{ + type: 'speeds'; + id: number; + }>; }; export type TaskWrapperPatch = { - data: { - type: 'taskWrapper'; - attributes: { - accessGroupId?: number; - isArchived?: boolean; - maxAgents?: number; - priority?: number; - taskWrapperName?: string; - }; + data: { + type: 'taskWrapper'; + attributes: { + accessGroupId?: number; + isArchived?: boolean; + maxAgents?: number; + priority?: number; + taskWrapperName?: string; }; + }; }; export type TaskWrapperResponse = { - jsonapi: { - version: string; - ext?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'taskWrapper'; + attributes: { + priority: number; + maxAgents: number; + taskType: 0 | 1; + hashlistId: number; + accessGroupId: number; + taskWrapperName: string; + isArchived: boolean; + cracked: number; + }; + }; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; - links?: { + hashType: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - data: { + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; id: number; - type: 'taskWrapper'; - attributes: { - priority: number; - maxAgents: number; - taskType: 0 | 1; - hashlistId: number; - accessGroupId: number; - taskWrapperName: string; - isArchived: boolean; - cracked: number; - }; + } | null; }; - relationships?: { - accessGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'accessGroup'; - id: number; - } | null; - }; - hashType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashType'; - id: number; - } | null; - }; - hashlist: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashlist'; - id: number; - } | null; - }; - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; }; - included?: Array<{ + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; + }; + }; + included?: Array< + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - } | { + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - } | { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + | { id: number; type: 'hashType'; attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; - } | { + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type TaskWrapperSingleResponse = { - data: { + data: { + id: number; + type: 'taskWrapper'; + attributes: { + priority: number; + maxAgents: number; + taskType: 0 | 1; + hashlistId: number; + accessGroupId: number; + taskWrapperName: string; + isArchived: boolean; + cracked: number; + }; + }; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; id: number; - type: 'taskWrapper'; - attributes: { - priority: number; - maxAgents: number; - taskType: 0 | 1; - hashlistId: number; - accessGroupId: number; - taskWrapperName: string; - isArchived: boolean; - cracked: number; - }; + } | null; }; - relationships?: { - accessGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'accessGroup'; - id: number; - } | null; - }; - hashType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashType'; - id: number; - } | null; - }; - hashlist: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashlist'; - id: number; - } | null; - }; - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + hashType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashType'; + id: number; + } | null; }; - included?: Array<{ + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; + id: number; + } | null; + }; + task: { + links: { + self: string; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; + }; + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; + id: number; + }>; + }; + }; + included?: Array< + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - } | { + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - } | { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + | { id: number; type: 'hashType'; attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; - } | { + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type TaskWrapperPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'taskWrapper'; + attributes: { + priority: number; + maxAgents: number; + taskType: 0 | 1; + hashlistId: number; + accessGroupId: number; + taskWrapperName: string; + isArchived: boolean; + cracked: number; + }; + }; +}; + +export type TaskWrapperListResponse = { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'taskWrapper'; + attributes: { + priority: number; + maxAgents: number; + taskType: 0 | 1; + hashlistId: number; + accessGroupId: number; + taskWrapperName: string; + isArchived: boolean; + cracked: number; + }; + }>; + relationships?: { + accessGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'accessGroup'; + id: number; + } | null; }; - data: { + hashType: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashType'; id: number; - type: 'taskWrapper'; - attributes: { - priority: number; - maxAgents: number; - taskType: 0 | 1; - hashlistId: number; - accessGroupId: number; - taskWrapperName: string; - isArchived: boolean; - cracked: number; - }; + } | null; }; -}; - -export type TaskWrapperListResponse = { - jsonapi: { - version: string; - ext?: Array; + hashlist: { + links: { + self: string; + related: string; + }; + data?: { + type: 'hashlist'; + id: number; + } | null; }; - links?: { + task: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: { + type: 'task'; + id: number; + } | null; }; - data: Array<{ + tasks: { + links: { + self: string; + related: string; + }; + data?: Array<{ + type: 'task'; id: number; - type: 'taskWrapper'; - attributes: { - priority: number; - maxAgents: number; - taskType: 0 | 1; - hashlistId: number; - accessGroupId: number; - taskWrapperName: string; - isArchived: boolean; - cracked: number; - }; - }>; - relationships?: { - accessGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'accessGroup'; - id: number; - } | null; - }; - hashType: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashType'; - id: number; - } | null; - }; - hashlist: { - links: { - self: string; - related: string; - }; - data?: { - type: 'hashlist'; - id: number; - } | null; - }; - task: { - links: { - self: string; - related: string; - }; - data?: { - type: 'task'; - id: number; - } | null; - }; - tasks: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'task'; - id: number; - }>; - }; + }>; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - } | { + } + | { id: number; type: 'hashlist'; attributes: { - name: string; - format: 0 | 1 | 2 | 3; - hashTypeId: number; - hashCount: number; - separator: string | null; - cracked: number; - isSecret: boolean; - isHexSalt: boolean; - isSalted: boolean; - accessGroupId: number; - notes: string; - useBrain: boolean; - brainFeatures: number; - isArchived: boolean; - }; - } | { + name: string; + format: 0 | 1 | 2 | 3; + hashTypeId: number; + hashCount: number; + separator: string | null; + cracked: number; + isSecret: boolean; + isHexSalt: boolean; + isSalted: boolean; + accessGroupId: number; + notes: string; + useBrain: boolean; + brainFeatures: number; + isArchived: boolean; + }; + } + | { id: number; type: 'hashType'; attributes: { - description: string; - isSalted: boolean; - isSlowHash: boolean; + description: string; + isSalted: boolean; + isSlowHash: boolean; }; - } | { + } + | { id: number; type: 'task'; attributes: { - taskName: string; - attackCmd: string; - chunkTime: number; - statusTimer: number; - keyspace: number; - keyspaceProgress: number; - priority: number; - maxAgents: number; - color: string | null; - isSmall: boolean; - isCpuTask: boolean; - useNewBench: boolean; - skipKeyspace: number; - crackerBinaryId: number; - crackerBinaryTypeId: number; - taskWrapperId: number; - isArchived: boolean; - notes: string; - staticChunks: number; - chunkSize: number; - forcePipe: boolean; - preprocessorId: number; - preprocessorCommand: string; - }; - }>; + taskName: string; + attackCmd: string; + chunkTime: number; + statusTimer: number; + keyspace: number; + keyspaceProgress: number; + priority: number; + maxAgents: number; + color: string | null; + isSmall: boolean; + isCpuTask: boolean; + useNewBench: boolean; + skipKeyspace: number; + crackerBinaryId: number; + crackerBinaryTypeId: number; + taskWrapperId: number; + isArchived: boolean; + notes: string; + staticChunks: number; + chunkSize: number; + forcePipe: boolean; + preprocessorId: number; + preprocessorCommand: string; + }; + } + >; }; export type TaskWrapperRelationTasks = { - data: Array<{ - type: 'tasks'; - id: number; - }>; + data: Array<{ + type: 'tasks'; + id: number; + }>; }; export type TaskWrapperRelationTasksGetResponse = { - data: Array<{ - type: 'tasks'; - id: number; - }>; + data: Array<{ + type: 'tasks'; + id: number; + }>; }; export type UserCreate = { - data: { - type: 'user'; - attributes: { - name: string; - email: string; - globalPermissionGroupId: number; - }; + data: { + type: 'user'; + attributes: { + name: string; + email: string; + globalPermissionGroupId: number; }; + }; }; export type UserPatch = { - data: { - type: 'user'; - attributes: { - email?: string; - globalPermissionGroupId?: number; - isValid?: boolean; - sessionLifetime?: number; - }; + data: { + type: 'user'; + attributes: { + email?: string; + globalPermissionGroupId?: number; + isValid?: boolean; + sessionLifetime?: number; }; + }; }; export type UserResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }; + relationships?: { + accessGroups: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { + related: string; + }; + data?: Array<{ + type: 'accessGroup'; id: number; - type: 'user'; - attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; + }>; }; - relationships?: { - accessGroups: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'accessGroup'; - id: number; - }>; - }; - globalPermissionGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'globalPermissionGroup'; - id: number; - } | null; - }; + globalPermissionGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'globalPermissionGroup'; + id: number; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'globalPermissionGroup'; attributes: { - name: string; - permissions: { - [key: string]: boolean; - }; + name: string; + permissions: { + [key: string]: boolean; + }; }; - } | { + } + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - }>; + } + >; }; export type UserPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'user'; - attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }; }; export type UserListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'user'; + attributes: { + name: string; + email: string; + isValid: boolean; + isComputedPassword: boolean; + lastLoginDate: number; + registeredSince: number; + sessionLifetime: number; + globalPermissionGroupId: number; + yubikey: string; + otp1: string; + otp2: string; + otp3: string; + otp4: string; + }; + }>; + relationships?: { + accessGroups: { + links: { self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; + related: string; + }; + data?: Array<{ + type: 'accessGroup'; + id: number; + }>; }; - data: Array<{ + globalPermissionGroup: { + links: { + self: string; + related: string; + }; + data?: { + type: 'globalPermissionGroup'; id: number; - type: 'user'; - attributes: { - name: string; - email: string; - isValid: boolean; - isComputedPassword: boolean; - lastLoginDate: number; - registeredSince: number; - sessionLifetime: number; - globalPermissionGroupId: number; - yubikey: string; - otp1: string; - otp2: string; - otp3: string; - otp4: string; - }; - }>; - relationships?: { - accessGroups: { - links: { - self: string; - related: string; - }; - data?: Array<{ - type: 'accessGroup'; - id: number; - }>; - }; - globalPermissionGroup: { - links: { - self: string; - related: string; - }; - data?: { - type: 'globalPermissionGroup'; - id: number; - } | null; - }; + } | null; }; - included?: Array<{ + }; + included?: Array< + | { id: number; type: 'globalPermissionGroup'; attributes: { - name: string; - permissions: { - [key: string]: boolean; - }; + name: string; + permissions: { + [key: string]: boolean; + }; }; - } | { + } + | { id: number; type: 'accessGroup'; attributes: { - groupName: string; + groupName: string; }; - }>; + } + >; }; export type UserRelationAccessGroups = { - data: Array<{ - type: 'accessGroups'; - id: number; - }>; + data: Array<{ + type: 'accessGroups'; + id: number; + }>; }; export type UserRelationAccessGroupsGetResponse = { - data: Array<{ - type: 'accessGroups'; - id: number; - }>; + data: Array<{ + type: 'accessGroups'; + id: number; + }>; }; export type VoucherCreate = { - data: { - type: 'voucher'; - attributes: { - voucher: string; - }; + data: { + type: 'voucher'; + attributes: { + voucher: string; }; + }; }; export type VoucherPatch = { - data: { - type: 'voucher'; - attributes: { - voucher?: string; - }; + data: { + type: 'voucher'; + attributes: { + voucher?: string; }; + }; }; export type VoucherResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: { - id: number; - type: 'voucher'; - attributes: { - voucher: string; - time: number; - }; - }; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: { + id: number; + type: 'voucher'; + attributes: { + voucher: string; + time: number; + }; + }; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type VoucherPostPatchResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - data: { - id: number; - type: 'voucher'; - attributes: { - voucher: string; - time: number; - }; + jsonapi: { + version: string; + ext?: Array; + }; + data: { + id: number; + type: 'voucher'; + attributes: { + voucher: string; + time: number; }; + }; }; export type VoucherListResponse = { - jsonapi: { - version: string; - ext?: Array; - }; - links?: { - self: string; - first?: string; - last?: string; - next?: string | null; - previous?: string | null; - }; - data: Array<{ - id: number; - type: 'voucher'; - attributes: { - voucher: string; - time: number; - }; - }>; - relationships?: { - [key: string]: unknown; - }; - included?: Array; + jsonapi: { + version: string; + ext?: Array; + }; + links?: { + self: string; + first?: string; + last?: string; + next?: string | null; + previous?: string | null; + }; + data: Array<{ + id: number; + type: 'voucher'; + attributes: { + voucher: string; + time: number; + }; + }>; + relationships?: { + [key: string]: unknown; + }; + included?: Array; }; export type AbortChunkHelperApi = { - chunkId?: number; + chunkId?: number; }; export type AbortChunkHelperApiResponse = Array<{ - Abort?: string; + Abort?: string; }>; export type AssignAgentHelperApi = { - agentId?: number; - taskId?: number; + agentId?: number; + taskId?: number; }; export type AssignAgentHelperApiResponse = Array<{ - Assign?: string; + Assign?: string; }>; export type BulkSupertaskBuilderHelperApi = { - name?: string; - isCpu?: boolean; - isSmall?: boolean; - crackerBinaryTypeId?: number; - benchtype?: string; - command?: string; - maxAgents?: number; - basefiles?: Array; - iterfiles?: Array; + name?: string; + isCpu?: boolean; + isSmall?: boolean; + crackerBinaryTypeId?: number; + benchtype?: string; + command?: string; + maxAgents?: number; + basefiles?: Array; + iterfiles?: Array; }; export type ChangeOwnPasswordHelperApi = { - oldPassword?: string; - newPassword?: string; - confirmPassword?: string; + oldPassword?: string; + newPassword?: string; + confirmPassword?: string; }; export type ChangeOwnPasswordHelperApiResponse = Array<{ - 'Change password'?: string; + 'Change password'?: string; }>; export type CreateSuperHashlistHelperApi = { - hashlistIds?: Array; - name?: string; + hashlistIds?: Array; + name?: string; }; export type CreateSupertaskHelperApi = { - supertaskTemplateId?: number; - hashlistId?: number; - crackerVersionId?: number; + supertaskTemplateId?: number; + hashlistId?: number; + crackerVersionId?: number; }; export type ExportCrackedHashesHelperApi = { - hashlistId?: number; + hashlistId?: number; }; export type ExportLeftHashesHelperApi = { - hashlistId?: number; + hashlistId?: number; }; export type ExportWordlistHelperApi = { - hashlistId?: number; + hashlistId?: number; }; export type ImportCrackedHashesHelperApi = { - hashlistId?: number; - sourceType?: string; - sourceData?: string; - separator?: string; - overwrite?: number; + hashlistId?: number; + sourceType?: string; + sourceData?: string; + separator?: string; + overwrite?: number; }; export type ImportCrackedHashesHelperApiResponse = Array<{ - totalLines?: number; - newCracked?: number; - alreadyCracked?: number; - invalid?: number; - notFound?: number; - processTime?: number; - tooLongPlaintexts?: number; + totalLines?: number; + newCracked?: number; + alreadyCracked?: number; + invalid?: number; + notFound?: number; + processTime?: number; + tooLongPlaintexts?: number; }>; export type ImportFileHelperApi = { - [key: string]: unknown; + [key: string]: unknown; }; export type MaskSupertaskBuilderHelperApi = { - name?: string; - isCpu?: boolean; - isSmall?: boolean; - optimized?: boolean; - crackerBinaryTypeId?: number; - benchtype?: string; - masks?: string; - maxAgents?: number; + name?: string; + isCpu?: boolean; + isSmall?: boolean; + optimized?: boolean; + crackerBinaryTypeId?: number; + benchtype?: string; + masks?: string; + maxAgents?: number; }; export type PurgeTaskHelperApi = { - taskId?: number; + taskId?: number; }; export type PurgeTaskHelperApiResponse = Array<{ - Purge?: string; + Purge?: string; }>; export type RebuildChunkCacheHelperApi = { - [key: string]: unknown; + [key: string]: unknown; }; export type RebuildChunkCacheHelperApiResponse = Array<{ - Rebuild?: string; + Rebuild?: string; }>; export type RecountFileLinesHelperApi = { - fileId?: number; + fileId?: number; }; export type RescanGlobalFilesHelperApi = { - [key: string]: unknown; + [key: string]: unknown; }; export type RescanGlobalFilesHelperApiResponse = Array<{ - Rescan?: string; + Rescan?: string; }>; export type ResetChunkHelperApi = { - chunkId?: number; + chunkId?: number; }; export type ResetChunkHelperApiResponse = Array<{ - Reset?: string; + Reset?: string; }>; export type ResetUserPasswordHelperApi = { - email?: string; - username?: string; + email?: string; + username?: string; }; export type ResetUserPasswordHelperApiResponse = Array<{ - Reset?: string; + Reset?: string; }>; export type SearchHashesHelperApi = { - searchData?: string; - separator?: string; - isSalted?: boolean; + searchData?: string; + separator?: string; + isSalted?: boolean; }; export type SearchHashesHelperApiResponse = Array<{ - 0?: { - [key: string]: unknown; - }; - 1?: { - [key: string]: unknown; - }; + 0?: { + [key: string]: unknown; + }; + 1?: { + [key: string]: unknown; + }; }>; export type SetUserPasswordHelperApi = { - userId?: number; - password?: string; + userId?: number; + password?: string; }; export type SetUserPasswordHelperApiResponse = Array<{ - 'Set password'?: string; + 'Set password'?: string; }>; export type UnassignAgentHelperApi = { - agentId?: number; + agentId?: number; }; export type UnassignAgentHelperApiResponse = Array<{ - Unassign?: string; + Unassign?: string; }>; export type Token = { - token: string; - expires: number; + token: string; + expires: number; }; export type TokenRequest = Array; export type DeleteAccessgroupsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/accessgroups'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/accessgroups'; }; export type DeleteAccessgroupsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteAccessgroupsError = DeleteAccessgroupsErrors[keyof DeleteAccessgroupsErrors]; export type DeleteAccessgroupsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetAccessgroupsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/accessgroups'; -}; - -export type GetAccessgroupsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/accessgroups'; +}; + +export type GetAccessgroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAccessgroupsError = GetAccessgroupsErrors[keyof GetAccessgroupsErrors]; export type GetAccessgroupsResponses = { - /** - * successful operation - */ - 200: AccessGroupListResponse; + /** + * successful operation + */ + 200: AccessGroupListResponse; }; export type GetAccessgroupsResponse = GetAccessgroupsResponses[keyof GetAccessgroupsResponses]; export type PatchAccessgroupsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/accessgroups'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/accessgroups'; }; export type PatchAccessgroupsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchAccessgroupsError = PatchAccessgroupsErrors[keyof PatchAccessgroupsErrors]; export type PatchAccessgroupsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostAccessgroupsData = { - body: AccessGroupCreate; - path?: never; - query?: never; - url: '/api/v2/ui/accessgroups'; + body: AccessGroupCreate; + path?: never; + query?: never; + url: '/api/v2/ui/accessgroups'; }; export type PostAccessgroupsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostAccessgroupsError = PostAccessgroupsErrors[keyof PostAccessgroupsErrors]; export type PostAccessgroupsResponses = { - /** - * successful operation - */ - 201: AccessGroupPostPatchResponse; + /** + * successful operation + */ + 201: AccessGroupPostPatchResponse; }; export type PostAccessgroupsResponse = PostAccessgroupsResponses[keyof PostAccessgroupsResponses]; export type GetAccessgroupsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/accessgroups/count'; -}; - -export type GetAccessgroupsCountErrors = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/accessgroups/count'; +}; + +export type GetAccessgroupsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAccessgroupsCountError = GetAccessgroupsCountErrors[keyof GetAccessgroupsCountErrors]; export type GetAccessgroupsCountResponses = { - /** - * successful operation - */ - 200: AccessGroupListResponse; + /** + * successful operation + */ + 200: AccessGroupListResponse; }; export type GetAccessgroupsCountResponse = GetAccessgroupsCountResponses[keyof GetAccessgroupsCountResponses]; export type GetAccessgroupsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/accessgroups/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/{relation}'; }; export type GetAccessgroupsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetAccessgroupsByIdByRelationError = GetAccessgroupsByIdByRelationErrors[keyof GetAccessgroupsByIdByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAccessgroupsByIdByRelationError = + GetAccessgroupsByIdByRelationErrors[keyof GetAccessgroupsByIdByRelationErrors]; export type GetAccessgroupsByIdByRelationResponses = { - /** - * successful operation - */ - 200: AccessGroupRelationAgentMembersGetResponse; + /** + * successful operation + */ + 200: AccessGroupRelationAgentMembersGetResponse; }; -export type GetAccessgroupsByIdByRelationResponse = GetAccessgroupsByIdByRelationResponses[keyof GetAccessgroupsByIdByRelationResponses]; +export type GetAccessgroupsByIdByRelationResponse = + GetAccessgroupsByIdByRelationResponses[keyof GetAccessgroupsByIdByRelationResponses]; export type DeleteAccessgroupsByIdRelationshipsByRelationData = { - body: AccessGroupRelationAgentMembers; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; + body: AccessGroupRelationAgentMembers; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; }; export type DeleteAccessgroupsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteAccessgroupsByIdRelationshipsByRelationError = DeleteAccessgroupsByIdRelationshipsByRelationErrors[keyof DeleteAccessgroupsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAccessgroupsByIdRelationshipsByRelationError = + DeleteAccessgroupsByIdRelationshipsByRelationErrors[keyof DeleteAccessgroupsByIdRelationshipsByRelationErrors]; export type DeleteAccessgroupsByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteAccessgroupsByIdRelationshipsByRelationResponse = DeleteAccessgroupsByIdRelationshipsByRelationResponses[keyof DeleteAccessgroupsByIdRelationshipsByRelationResponses]; +export type DeleteAccessgroupsByIdRelationshipsByRelationResponse = + DeleteAccessgroupsByIdRelationshipsByRelationResponses[keyof DeleteAccessgroupsByIdRelationshipsByRelationResponses]; export type GetAccessgroupsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; }; export type GetAccessgroupsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetAccessgroupsByIdRelationshipsByRelationError = GetAccessgroupsByIdRelationshipsByRelationErrors[keyof GetAccessgroupsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAccessgroupsByIdRelationshipsByRelationError = + GetAccessgroupsByIdRelationshipsByRelationErrors[keyof GetAccessgroupsByIdRelationshipsByRelationErrors]; export type GetAccessgroupsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: AccessGroupResponse; + /** + * successful operation + */ + 200: AccessGroupResponse; }; -export type GetAccessgroupsByIdRelationshipsByRelationResponse = GetAccessgroupsByIdRelationshipsByRelationResponses[keyof GetAccessgroupsByIdRelationshipsByRelationResponses]; +export type GetAccessgroupsByIdRelationshipsByRelationResponse = + GetAccessgroupsByIdRelationshipsByRelationResponses[keyof GetAccessgroupsByIdRelationshipsByRelationResponses]; export type PatchAccessgroupsByIdRelationshipsByRelationData = { - body: AccessGroupRelationAgentMembers; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; + body: AccessGroupRelationAgentMembers; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; }; export type PatchAccessgroupsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchAccessgroupsByIdRelationshipsByRelationError = PatchAccessgroupsByIdRelationshipsByRelationErrors[keyof PatchAccessgroupsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAccessgroupsByIdRelationshipsByRelationError = + PatchAccessgroupsByIdRelationshipsByRelationErrors[keyof PatchAccessgroupsByIdRelationshipsByRelationErrors]; export type PatchAccessgroupsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchAccessgroupsByIdRelationshipsByRelationResponse = PatchAccessgroupsByIdRelationshipsByRelationResponses[keyof PatchAccessgroupsByIdRelationshipsByRelationResponses]; +export type PatchAccessgroupsByIdRelationshipsByRelationResponse = + PatchAccessgroupsByIdRelationshipsByRelationResponses[keyof PatchAccessgroupsByIdRelationshipsByRelationResponses]; export type PostAccessgroupsByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}/relationships/{relation}'; }; export type PostAccessgroupsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostAccessgroupsByIdRelationshipsByRelationError = PostAccessgroupsByIdRelationshipsByRelationErrors[keyof PostAccessgroupsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostAccessgroupsByIdRelationshipsByRelationError = + PostAccessgroupsByIdRelationshipsByRelationErrors[keyof PostAccessgroupsByIdRelationshipsByRelationErrors]; export type PostAccessgroupsByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostAccessgroupsByIdRelationshipsByRelationResponse = PostAccessgroupsByIdRelationshipsByRelationResponses[keyof PostAccessgroupsByIdRelationshipsByRelationResponses]; +export type PostAccessgroupsByIdRelationshipsByRelationResponse = + PostAccessgroupsByIdRelationshipsByRelationResponses[keyof PostAccessgroupsByIdRelationshipsByRelationResponses]; export type DeleteAccessgroupsByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/accessgroups/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}'; }; export type DeleteAccessgroupsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteAccessgroupsByIdError = DeleteAccessgroupsByIdErrors[keyof DeleteAccessgroupsByIdErrors]; export type DeleteAccessgroupsByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteAccessgroupsByIdResponse = DeleteAccessgroupsByIdResponses[keyof DeleteAccessgroupsByIdResponses]; export type GetAccessgroupsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/accessgroups/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/accessgroups/{id}'; }; export type GetAccessgroupsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetAccessgroupsByIdError = GetAccessgroupsByIdErrors[keyof GetAccessgroupsByIdErrors]; export type GetAccessgroupsByIdResponses = { - /** - * successful operation - */ - 200: AccessGroupResponse; + /** + * successful operation + */ + 200: AccessGroupResponse; }; export type GetAccessgroupsByIdResponse = GetAccessgroupsByIdResponses[keyof GetAccessgroupsByIdResponses]; export type PatchAccessgroupsByIdData = { - body: AccessGroupPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/accessgroups/{id}'; + body: AccessGroupPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/accessgroups/{id}'; }; export type PatchAccessgroupsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchAccessgroupsByIdError = PatchAccessgroupsByIdErrors[keyof PatchAccessgroupsByIdErrors]; export type PatchAccessgroupsByIdResponses = { - /** - * successful operation - */ - 200: AccessGroupPostPatchResponse; + /** + * successful operation + */ + 200: AccessGroupPostPatchResponse; }; export type PatchAccessgroupsByIdResponse = PatchAccessgroupsByIdResponses[keyof PatchAccessgroupsByIdResponses]; export type DeleteAgentsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/agents'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agents'; }; export type DeleteAgentsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteAgentsError = DeleteAgentsErrors[keyof DeleteAgentsErrors]; export type DeleteAgentsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetAgentsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agents'; -}; - -export type GetAgentsErrors = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/agents'; +}; + +export type GetAgentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgentsError = GetAgentsErrors[keyof GetAgentsErrors]; export type GetAgentsResponses = { - /** - * successful operation - */ - 200: AgentListResponse; + /** + * successful operation + */ + 200: AgentListResponse; }; export type GetAgentsResponse = GetAgentsResponses[keyof GetAgentsResponses]; export type PatchAgentsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/agents'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agents'; }; export type PatchAgentsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchAgentsError = PatchAgentsErrors[keyof PatchAgentsErrors]; export type PatchAgentsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetAgentsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agents/count'; -}; - -export type GetAgentsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/agents/count'; +}; + +export type GetAgentsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgentsCountError = GetAgentsCountErrors[keyof GetAgentsCountErrors]; export type GetAgentsCountResponses = { - /** - * successful operation - */ - 200: AgentListResponse; + /** + * successful operation + */ + 200: AgentListResponse; }; export type GetAgentsCountResponse = GetAgentsCountResponses[keyof GetAgentsCountResponses]; export type GetAgentsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agents/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/{relation}'; }; export type GetAgentsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetAgentsByIdByRelationError = GetAgentsByIdByRelationErrors[keyof GetAgentsByIdByRelationErrors]; export type GetAgentsByIdByRelationResponses = { - /** - * successful operation - */ - 200: AgentRelationAssignmentsGetResponse; + /** + * successful operation + */ + 200: AgentRelationAssignmentsGetResponse; }; export type GetAgentsByIdByRelationResponse = GetAgentsByIdByRelationResponses[keyof GetAgentsByIdByRelationResponses]; export type DeleteAgentsByIdRelationshipsByRelationData = { - body: AgentRelationAssignments; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agents/{id}/relationships/{relation}'; + body: AgentRelationAssignments; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/relationships/{relation}'; }; export type DeleteAgentsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteAgentsByIdRelationshipsByRelationError = DeleteAgentsByIdRelationshipsByRelationErrors[keyof DeleteAgentsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteAgentsByIdRelationshipsByRelationError = + DeleteAgentsByIdRelationshipsByRelationErrors[keyof DeleteAgentsByIdRelationshipsByRelationErrors]; export type DeleteAgentsByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteAgentsByIdRelationshipsByRelationResponse = DeleteAgentsByIdRelationshipsByRelationResponses[keyof DeleteAgentsByIdRelationshipsByRelationResponses]; +export type DeleteAgentsByIdRelationshipsByRelationResponse = + DeleteAgentsByIdRelationshipsByRelationResponses[keyof DeleteAgentsByIdRelationshipsByRelationResponses]; export type GetAgentsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agents/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/relationships/{relation}'; }; export type GetAgentsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetAgentsByIdRelationshipsByRelationError = GetAgentsByIdRelationshipsByRelationErrors[keyof GetAgentsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentsByIdRelationshipsByRelationError = + GetAgentsByIdRelationshipsByRelationErrors[keyof GetAgentsByIdRelationshipsByRelationErrors]; export type GetAgentsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: AgentResponse; + /** + * successful operation + */ + 200: AgentResponse; }; -export type GetAgentsByIdRelationshipsByRelationResponse = GetAgentsByIdRelationshipsByRelationResponses[keyof GetAgentsByIdRelationshipsByRelationResponses]; +export type GetAgentsByIdRelationshipsByRelationResponse = + GetAgentsByIdRelationshipsByRelationResponses[keyof GetAgentsByIdRelationshipsByRelationResponses]; export type PatchAgentsByIdRelationshipsByRelationData = { - body: AgentRelationAssignments; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agents/{id}/relationships/{relation}'; + body: AgentRelationAssignments; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/relationships/{relation}'; }; export type PatchAgentsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchAgentsByIdRelationshipsByRelationError = PatchAgentsByIdRelationshipsByRelationErrors[keyof PatchAgentsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAgentsByIdRelationshipsByRelationError = + PatchAgentsByIdRelationshipsByRelationErrors[keyof PatchAgentsByIdRelationshipsByRelationErrors]; export type PatchAgentsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchAgentsByIdRelationshipsByRelationResponse = PatchAgentsByIdRelationshipsByRelationResponses[keyof PatchAgentsByIdRelationshipsByRelationResponses]; +export type PatchAgentsByIdRelationshipsByRelationResponse = + PatchAgentsByIdRelationshipsByRelationResponses[keyof PatchAgentsByIdRelationshipsByRelationResponses]; export type PostAgentsByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agents/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agents/{id}/relationships/{relation}'; }; export type PostAgentsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostAgentsByIdRelationshipsByRelationError = PostAgentsByIdRelationshipsByRelationErrors[keyof PostAgentsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostAgentsByIdRelationshipsByRelationError = + PostAgentsByIdRelationshipsByRelationErrors[keyof PostAgentsByIdRelationshipsByRelationErrors]; export type PostAgentsByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostAgentsByIdRelationshipsByRelationResponse = PostAgentsByIdRelationshipsByRelationResponses[keyof PostAgentsByIdRelationshipsByRelationResponses]; +export type PostAgentsByIdRelationshipsByRelationResponse = + PostAgentsByIdRelationshipsByRelationResponses[keyof PostAgentsByIdRelationshipsByRelationResponses]; export type DeleteAgentsByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/agents/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agents/{id}'; }; export type DeleteAgentsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteAgentsByIdError = DeleteAgentsByIdErrors[keyof DeleteAgentsByIdErrors]; export type DeleteAgentsByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteAgentsByIdResponse = DeleteAgentsByIdResponses[keyof DeleteAgentsByIdResponses]; export type GetAgentsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/agents/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agents/{id}'; }; export type GetAgentsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetAgentsByIdError = GetAgentsByIdErrors[keyof GetAgentsByIdErrors]; export type GetAgentsByIdResponses = { - /** - * successful operation - */ - 200: AgentResponse; + /** + * successful operation + */ + 200: AgentResponse; }; export type GetAgentsByIdResponse = GetAgentsByIdResponses[keyof GetAgentsByIdResponses]; export type PatchAgentsByIdData = { - body: AgentPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/agents/{id}'; + body: AgentPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agents/{id}'; }; export type PatchAgentsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchAgentsByIdError = PatchAgentsByIdErrors[keyof PatchAgentsByIdErrors]; export type PatchAgentsByIdResponses = { - /** - * successful operation - */ - 200: AgentPostPatchResponse; + /** + * successful operation + */ + 200: AgentPostPatchResponse; }; export type PatchAgentsByIdResponse = PatchAgentsByIdResponses[keyof PatchAgentsByIdResponses]; export type DeleteAgentassignmentsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/agentassignments'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentassignments'; }; export type DeleteAgentassignmentsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteAgentassignmentsError = DeleteAgentassignmentsErrors[keyof DeleteAgentassignmentsErrors]; export type DeleteAgentassignmentsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetAgentassignmentsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agentassignments'; -}; - -export type GetAgentassignmentsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/agentassignments'; +}; + +export type GetAgentassignmentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgentassignmentsError = GetAgentassignmentsErrors[keyof GetAgentassignmentsErrors]; export type GetAgentassignmentsResponses = { - /** - * successful operation - */ - 200: AgentAssignmentListResponse; + /** + * successful operation + */ + 200: AgentAssignmentListResponse; }; export type GetAgentassignmentsResponse = GetAgentassignmentsResponses[keyof GetAgentassignmentsResponses]; export type PatchAgentassignmentsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/agentassignments'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentassignments'; }; export type PatchAgentassignmentsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchAgentassignmentsError = PatchAgentassignmentsErrors[keyof PatchAgentassignmentsErrors]; export type PatchAgentassignmentsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostAgentassignmentsData = { - body: AgentAssignmentCreate; - path?: never; - query?: never; - url: '/api/v2/ui/agentassignments'; + body: AgentAssignmentCreate; + path?: never; + query?: never; + url: '/api/v2/ui/agentassignments'; }; export type PostAgentassignmentsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostAgentassignmentsError = PostAgentassignmentsErrors[keyof PostAgentassignmentsErrors]; export type PostAgentassignmentsResponses = { - /** - * successful operation - */ - 201: AgentAssignmentPostPatchResponse; + /** + * successful operation + */ + 201: AgentAssignmentPostPatchResponse; }; export type PostAgentassignmentsResponse = PostAgentassignmentsResponses[keyof PostAgentassignmentsResponses]; export type GetAgentassignmentsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agentassignments/count'; -}; - -export type GetAgentassignmentsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/agentassignments/count'; +}; + +export type GetAgentassignmentsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgentassignmentsCountError = GetAgentassignmentsCountErrors[keyof GetAgentassignmentsCountErrors]; export type GetAgentassignmentsCountResponses = { - /** - * successful operation - */ - 200: AgentAssignmentListResponse; + /** + * successful operation + */ + 200: AgentAssignmentListResponse; }; -export type GetAgentassignmentsCountResponse = GetAgentassignmentsCountResponses[keyof GetAgentassignmentsCountResponses]; +export type GetAgentassignmentsCountResponse = + GetAgentassignmentsCountResponses[keyof GetAgentassignmentsCountResponses]; export type GetAgentassignmentsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agentassignments/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}/{relation}'; }; export type GetAgentassignmentsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetAgentassignmentsByIdByRelationError = GetAgentassignmentsByIdByRelationErrors[keyof GetAgentassignmentsByIdByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentassignmentsByIdByRelationError = + GetAgentassignmentsByIdByRelationErrors[keyof GetAgentassignmentsByIdByRelationErrors]; export type GetAgentassignmentsByIdByRelationResponses = { - /** - * successful operation - */ - 200: AgentAssignmentRelationTaskGetResponse; + /** + * successful operation + */ + 200: AgentAssignmentRelationTaskGetResponse; }; -export type GetAgentassignmentsByIdByRelationResponse = GetAgentassignmentsByIdByRelationResponses[keyof GetAgentassignmentsByIdByRelationResponses]; +export type GetAgentassignmentsByIdByRelationResponse = + GetAgentassignmentsByIdByRelationResponses[keyof GetAgentassignmentsByIdByRelationResponses]; export type GetAgentassignmentsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agentassignments/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}/relationships/{relation}'; }; export type GetAgentassignmentsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetAgentassignmentsByIdRelationshipsByRelationError = GetAgentassignmentsByIdRelationshipsByRelationErrors[keyof GetAgentassignmentsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgentassignmentsByIdRelationshipsByRelationError = + GetAgentassignmentsByIdRelationshipsByRelationErrors[keyof GetAgentassignmentsByIdRelationshipsByRelationErrors]; export type GetAgentassignmentsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: AgentAssignmentResponse; + /** + * successful operation + */ + 200: AgentAssignmentResponse; }; -export type GetAgentassignmentsByIdRelationshipsByRelationResponse = GetAgentassignmentsByIdRelationshipsByRelationResponses[keyof GetAgentassignmentsByIdRelationshipsByRelationResponses]; +export type GetAgentassignmentsByIdRelationshipsByRelationResponse = + GetAgentassignmentsByIdRelationshipsByRelationResponses[keyof GetAgentassignmentsByIdRelationshipsByRelationResponses]; export type PatchAgentassignmentsByIdRelationshipsByRelationData = { - body: AgentAssignmentRelationTask; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agentassignments/{id}/relationships/{relation}'; + body: AgentAssignmentRelationTask; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}/relationships/{relation}'; }; export type PatchAgentassignmentsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchAgentassignmentsByIdRelationshipsByRelationError = PatchAgentassignmentsByIdRelationshipsByRelationErrors[keyof PatchAgentassignmentsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAgentassignmentsByIdRelationshipsByRelationError = + PatchAgentassignmentsByIdRelationshipsByRelationErrors[keyof PatchAgentassignmentsByIdRelationshipsByRelationErrors]; export type PatchAgentassignmentsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchAgentassignmentsByIdRelationshipsByRelationResponse = PatchAgentassignmentsByIdRelationshipsByRelationResponses[keyof PatchAgentassignmentsByIdRelationshipsByRelationResponses]; +export type PatchAgentassignmentsByIdRelationshipsByRelationResponse = + PatchAgentassignmentsByIdRelationshipsByRelationResponses[keyof PatchAgentassignmentsByIdRelationshipsByRelationResponses]; export type DeleteAgentassignmentsByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/agentassignments/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}'; }; export type DeleteAgentassignmentsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteAgentassignmentsByIdError = DeleteAgentassignmentsByIdErrors[keyof DeleteAgentassignmentsByIdErrors]; export type DeleteAgentassignmentsByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteAgentassignmentsByIdResponse = DeleteAgentassignmentsByIdResponses[keyof DeleteAgentassignmentsByIdResponses]; +export type DeleteAgentassignmentsByIdResponse = + DeleteAgentassignmentsByIdResponses[keyof DeleteAgentassignmentsByIdResponses]; export type GetAgentassignmentsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/agentassignments/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agentassignments/{id}'; }; export type GetAgentassignmentsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetAgentassignmentsByIdError = GetAgentassignmentsByIdErrors[keyof GetAgentassignmentsByIdErrors]; export type GetAgentassignmentsByIdResponses = { - /** - * successful operation - */ - 200: AgentAssignmentResponse; + /** + * successful operation + */ + 200: AgentAssignmentResponse; }; export type GetAgentassignmentsByIdResponse = GetAgentassignmentsByIdResponses[keyof GetAgentassignmentsByIdResponses]; export type PatchAgentassignmentsByIdData = { - body: AgentAssignmentPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/agentassignments/{id}'; + body: AgentAssignmentPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentassignments/{id}'; }; export type PatchAgentassignmentsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchAgentassignmentsByIdError = PatchAgentassignmentsByIdErrors[keyof PatchAgentassignmentsByIdErrors]; export type PatchAgentassignmentsByIdResponses = { - /** - * successful operation - */ - 200: AgentAssignmentPostPatchResponse; + /** + * successful operation + */ + 200: AgentAssignmentPostPatchResponse; }; -export type PatchAgentassignmentsByIdResponse = PatchAgentassignmentsByIdResponses[keyof PatchAgentassignmentsByIdResponses]; +export type PatchAgentassignmentsByIdResponse = + PatchAgentassignmentsByIdResponses[keyof PatchAgentassignmentsByIdResponses]; export type DeleteAgentbinariesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/agentbinaries'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentbinaries'; }; export type DeleteAgentbinariesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteAgentbinariesError = DeleteAgentbinariesErrors[keyof DeleteAgentbinariesErrors]; export type DeleteAgentbinariesResponses = { - /** - * successful operation - */ - 200: unknown; -}; - -export type GetAgentbinariesData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agentbinaries'; + /** + * successful operation + */ + 200: unknown; }; -export type GetAgentbinariesErrors = { +export type GetAgentbinariesData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/agentbinaries'; +}; + +export type GetAgentbinariesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgentbinariesError = GetAgentbinariesErrors[keyof GetAgentbinariesErrors]; export type GetAgentbinariesResponses = { - /** - * successful operation - */ - 200: AgentBinaryListResponse; + /** + * successful operation + */ + 200: AgentBinaryListResponse; }; export type GetAgentbinariesResponse = GetAgentbinariesResponses[keyof GetAgentbinariesResponses]; export type PatchAgentbinariesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/agentbinaries'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentbinaries'; }; export type PatchAgentbinariesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchAgentbinariesError = PatchAgentbinariesErrors[keyof PatchAgentbinariesErrors]; export type PatchAgentbinariesResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostAgentbinariesData = { - body: AgentBinaryCreate; - path?: never; - query?: never; - url: '/api/v2/ui/agentbinaries'; + body: AgentBinaryCreate; + path?: never; + query?: never; + url: '/api/v2/ui/agentbinaries'; }; export type PostAgentbinariesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostAgentbinariesError = PostAgentbinariesErrors[keyof PostAgentbinariesErrors]; export type PostAgentbinariesResponses = { - /** - * successful operation - */ - 201: AgentBinaryPostPatchResponse; + /** + * successful operation + */ + 201: AgentBinaryPostPatchResponse; }; export type PostAgentbinariesResponse = PostAgentbinariesResponses[keyof PostAgentbinariesResponses]; export type GetAgentbinariesCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agentbinaries/count'; -}; - -export type GetAgentbinariesCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/agentbinaries/count'; +}; + +export type GetAgentbinariesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgentbinariesCountError = GetAgentbinariesCountErrors[keyof GetAgentbinariesCountErrors]; export type GetAgentbinariesCountResponses = { - /** - * successful operation - */ - 200: AgentBinaryListResponse; + /** + * successful operation + */ + 200: AgentBinaryListResponse; }; export type GetAgentbinariesCountResponse = GetAgentbinariesCountResponses[keyof GetAgentbinariesCountResponses]; export type DeleteAgentbinariesByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/agentbinaries/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentbinaries/{id}'; }; export type DeleteAgentbinariesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteAgentbinariesByIdError = DeleteAgentbinariesByIdErrors[keyof DeleteAgentbinariesByIdErrors]; export type DeleteAgentbinariesByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteAgentbinariesByIdResponse = DeleteAgentbinariesByIdResponses[keyof DeleteAgentbinariesByIdResponses]; export type GetAgentbinariesByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/agentbinaries/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agentbinaries/{id}'; }; export type GetAgentbinariesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetAgentbinariesByIdError = GetAgentbinariesByIdErrors[keyof GetAgentbinariesByIdErrors]; export type GetAgentbinariesByIdResponses = { - /** - * successful operation - */ - 200: AgentBinaryResponse; + /** + * successful operation + */ + 200: AgentBinaryResponse; }; export type GetAgentbinariesByIdResponse = GetAgentbinariesByIdResponses[keyof GetAgentbinariesByIdResponses]; export type PatchAgentbinariesByIdData = { - body: AgentBinaryPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/agentbinaries/{id}'; + body: AgentBinaryPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentbinaries/{id}'; }; export type PatchAgentbinariesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchAgentbinariesByIdError = PatchAgentbinariesByIdErrors[keyof PatchAgentbinariesByIdErrors]; export type PatchAgentbinariesByIdResponses = { - /** - * successful operation - */ - 200: AgentBinaryPostPatchResponse; + /** + * successful operation + */ + 200: AgentBinaryPostPatchResponse; }; export type PatchAgentbinariesByIdResponse = PatchAgentbinariesByIdResponses[keyof PatchAgentbinariesByIdResponses]; export type DeleteAgenterrorsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/agenterrors'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agenterrors'; }; export type DeleteAgenterrorsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteAgenterrorsError = DeleteAgenterrorsErrors[keyof DeleteAgenterrorsErrors]; export type DeleteAgenterrorsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetAgenterrorsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agenterrors'; -}; - -export type GetAgenterrorsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/agenterrors'; +}; + +export type GetAgenterrorsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgenterrorsError = GetAgenterrorsErrors[keyof GetAgenterrorsErrors]; export type GetAgenterrorsResponses = { - /** - * successful operation - */ - 200: AgentErrorListResponse; + /** + * successful operation + */ + 200: AgentErrorListResponse; }; export type GetAgenterrorsResponse = GetAgenterrorsResponses[keyof GetAgenterrorsResponses]; export type GetAgenterrorsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agenterrors/count'; -}; - -export type GetAgenterrorsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/agenterrors/count'; +}; + +export type GetAgenterrorsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgenterrorsCountError = GetAgenterrorsCountErrors[keyof GetAgenterrorsCountErrors]; export type GetAgenterrorsCountResponses = { - /** - * successful operation - */ - 200: AgentErrorListResponse; + /** + * successful operation + */ + 200: AgentErrorListResponse; }; export type GetAgenterrorsCountResponse = GetAgenterrorsCountResponses[keyof GetAgenterrorsCountResponses]; export type GetAgenterrorsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agenterrors/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agenterrors/{id}/{relation}'; }; export type GetAgenterrorsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetAgenterrorsByIdByRelationError = GetAgenterrorsByIdByRelationErrors[keyof GetAgenterrorsByIdByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgenterrorsByIdByRelationError = + GetAgenterrorsByIdByRelationErrors[keyof GetAgenterrorsByIdByRelationErrors]; export type GetAgenterrorsByIdByRelationResponses = { - /** - * successful operation - */ - 200: AgentErrorRelationTaskGetResponse; + /** + * successful operation + */ + 200: AgentErrorRelationTaskGetResponse; }; -export type GetAgenterrorsByIdByRelationResponse = GetAgenterrorsByIdByRelationResponses[keyof GetAgenterrorsByIdByRelationResponses]; +export type GetAgenterrorsByIdByRelationResponse = + GetAgenterrorsByIdByRelationResponses[keyof GetAgenterrorsByIdByRelationResponses]; export type GetAgenterrorsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agenterrors/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agenterrors/{id}/relationships/{relation}'; }; export type GetAgenterrorsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetAgenterrorsByIdRelationshipsByRelationError = GetAgenterrorsByIdRelationshipsByRelationErrors[keyof GetAgenterrorsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetAgenterrorsByIdRelationshipsByRelationError = + GetAgenterrorsByIdRelationshipsByRelationErrors[keyof GetAgenterrorsByIdRelationshipsByRelationErrors]; export type GetAgenterrorsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: AgentErrorResponse; + /** + * successful operation + */ + 200: AgentErrorResponse; }; -export type GetAgenterrorsByIdRelationshipsByRelationResponse = GetAgenterrorsByIdRelationshipsByRelationResponses[keyof GetAgenterrorsByIdRelationshipsByRelationResponses]; +export type GetAgenterrorsByIdRelationshipsByRelationResponse = + GetAgenterrorsByIdRelationshipsByRelationResponses[keyof GetAgenterrorsByIdRelationshipsByRelationResponses]; export type PatchAgenterrorsByIdRelationshipsByRelationData = { - body: AgentErrorRelationTask; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/agenterrors/{id}/relationships/{relation}'; + body: AgentErrorRelationTask; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/agenterrors/{id}/relationships/{relation}'; }; export type PatchAgenterrorsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchAgenterrorsByIdRelationshipsByRelationError = PatchAgenterrorsByIdRelationshipsByRelationErrors[keyof PatchAgenterrorsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchAgenterrorsByIdRelationshipsByRelationError = + PatchAgenterrorsByIdRelationshipsByRelationErrors[keyof PatchAgenterrorsByIdRelationshipsByRelationErrors]; export type PatchAgenterrorsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchAgenterrorsByIdRelationshipsByRelationResponse = PatchAgenterrorsByIdRelationshipsByRelationResponses[keyof PatchAgenterrorsByIdRelationshipsByRelationResponses]; +export type PatchAgenterrorsByIdRelationshipsByRelationResponse = + PatchAgenterrorsByIdRelationshipsByRelationResponses[keyof PatchAgenterrorsByIdRelationshipsByRelationResponses]; export type DeleteAgenterrorsByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/agenterrors/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agenterrors/{id}'; }; export type DeleteAgenterrorsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteAgenterrorsByIdError = DeleteAgenterrorsByIdErrors[keyof DeleteAgenterrorsByIdErrors]; export type DeleteAgenterrorsByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteAgenterrorsByIdResponse = DeleteAgenterrorsByIdResponses[keyof DeleteAgenterrorsByIdResponses]; export type GetAgenterrorsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/agenterrors/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agenterrors/{id}'; }; export type GetAgenterrorsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetAgenterrorsByIdError = GetAgenterrorsByIdErrors[keyof GetAgenterrorsByIdErrors]; export type GetAgenterrorsByIdResponses = { - /** - * successful operation - */ - 200: AgentErrorResponse; + /** + * successful operation + */ + 200: AgentErrorResponse; }; export type GetAgenterrorsByIdResponse = GetAgenterrorsByIdResponses[keyof GetAgenterrorsByIdResponses]; export type DeleteAgentstatsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/agentstats'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/agentstats'; }; export type DeleteAgentstatsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteAgentstatsError = DeleteAgentstatsErrors[keyof DeleteAgentstatsErrors]; export type DeleteAgentstatsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetAgentstatsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agentstats'; -}; - -export type GetAgentstatsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; /** - * Invalid request + * Pointer to paginate to retrieve the data before the value provided */ - 400: ErrorResponse; + 'page[before]'?: number; /** - * Authentication failed + * Amout of data to retrieve inside a single page */ - 401: ErrorResponse; + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/agentstats'; +}; + +export type GetAgentstatsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgentstatsError = GetAgentstatsErrors[keyof GetAgentstatsErrors]; export type GetAgentstatsResponses = { - /** - * successful operation - */ - 200: AgentStatListResponse; + /** + * successful operation + */ + 200: AgentStatListResponse; }; export type GetAgentstatsResponse = GetAgentstatsResponses[keyof GetAgentstatsResponses]; export type GetAgentstatsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/agentstats/count'; -}; - -export type GetAgentstatsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/agentstats/count'; +}; + +export type GetAgentstatsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetAgentstatsCountError = GetAgentstatsCountErrors[keyof GetAgentstatsCountErrors]; export type GetAgentstatsCountResponses = { - /** - * successful operation - */ - 200: AgentStatListResponse; + /** + * successful operation + */ + 200: AgentStatListResponse; }; export type GetAgentstatsCountResponse = GetAgentstatsCountResponses[keyof GetAgentstatsCountResponses]; export type DeleteAgentstatsByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/agentstats/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/agentstats/{id}'; }; export type DeleteAgentstatsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteAgentstatsByIdError = DeleteAgentstatsByIdErrors[keyof DeleteAgentstatsByIdErrors]; export type DeleteAgentstatsByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteAgentstatsByIdResponse = DeleteAgentstatsByIdResponses[keyof DeleteAgentstatsByIdResponses]; export type GetAgentstatsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/agentstats/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/agentstats/{id}'; }; export type GetAgentstatsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetAgentstatsByIdError = GetAgentstatsByIdErrors[keyof GetAgentstatsByIdErrors]; export type GetAgentstatsByIdResponses = { - /** - * successful operation - */ - 200: AgentStatResponse; + /** + * successful operation + */ + 200: AgentStatResponse; }; export type GetAgentstatsByIdResponse = GetAgentstatsByIdResponses[keyof GetAgentstatsByIdResponses]; export type DeleteApiTokensData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/apiTokens'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/apiTokens'; }; export type DeleteApiTokensErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteApiTokensError = DeleteApiTokensErrors[keyof DeleteApiTokensErrors]; export type DeleteApiTokensResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetApiTokensData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * successful operation + * Filters results using a query */ - 200: unknown; -}; - -export type GetApiTokensData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; + filter?: { + [key: string]: unknown; }; - url: '/api/v2/ui/apiTokens'; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/apiTokens'; }; export type GetApiTokensErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetApiTokensError = GetApiTokensErrors[keyof GetApiTokensErrors]; export type GetApiTokensResponses = { - /** - * successful operation - */ - 200: ApiTokenListResponse; + /** + * successful operation + */ + 200: ApiTokenListResponse; }; export type GetApiTokensResponse = GetApiTokensResponses[keyof GetApiTokensResponses]; export type PatchApiTokensData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/apiTokens'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/apiTokens'; }; export type PatchApiTokensErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchApiTokensError = PatchApiTokensErrors[keyof PatchApiTokensErrors]; export type PatchApiTokensResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostApiTokensData = { - body: ApiTokenCreate; - path?: never; - query?: never; - url: '/api/v2/ui/apiTokens'; + body: ApiTokenCreate; + path?: never; + query?: never; + url: '/api/v2/ui/apiTokens'; }; export type PostApiTokensErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostApiTokensError = PostApiTokensErrors[keyof PostApiTokensErrors]; export type PostApiTokensResponses = { - /** - * successful operation - */ - 201: ApiTokenPostPatchResponse; + /** + * successful operation + */ + 201: ApiTokenPostPatchResponse; }; export type PostApiTokensResponse = PostApiTokensResponses[keyof PostApiTokensResponses]; export type GetApiTokensCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/apiTokens/count'; -}; - -export type GetApiTokensCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; /** - * Invalid request + * Pointer to paginate to retrieve the data before the value provided */ - 400: ErrorResponse; + 'page[before]'?: number; /** - * Authentication failed + * Amout of data to retrieve inside a single page */ - 401: ErrorResponse; + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/apiTokens/count'; +}; + +export type GetApiTokensCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetApiTokensCountError = GetApiTokensCountErrors[keyof GetApiTokensCountErrors]; export type GetApiTokensCountResponses = { - /** - * successful operation - */ - 200: ApiTokenListResponse; + /** + * successful operation + */ + 200: ApiTokenListResponse; }; export type GetApiTokensCountResponse = GetApiTokensCountResponses[keyof GetApiTokensCountResponses]; export type GetApiTokensByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/apiTokens/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}/{relation}'; }; export type GetApiTokensByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetApiTokensByIdByRelationError = GetApiTokensByIdByRelationErrors[keyof GetApiTokensByIdByRelationErrors]; export type GetApiTokensByIdByRelationResponses = { - /** - * successful operation - */ - 200: ApiTokenRelationUserGetResponse; + /** + * successful operation + */ + 200: ApiTokenRelationUserGetResponse; }; -export type GetApiTokensByIdByRelationResponse = GetApiTokensByIdByRelationResponses[keyof GetApiTokensByIdByRelationResponses]; +export type GetApiTokensByIdByRelationResponse = + GetApiTokensByIdByRelationResponses[keyof GetApiTokensByIdByRelationResponses]; export type GetApiTokensByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/apiTokens/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}/relationships/{relation}'; }; export type GetApiTokensByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetApiTokensByIdRelationshipsByRelationError = GetApiTokensByIdRelationshipsByRelationErrors[keyof GetApiTokensByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetApiTokensByIdRelationshipsByRelationError = + GetApiTokensByIdRelationshipsByRelationErrors[keyof GetApiTokensByIdRelationshipsByRelationErrors]; export type GetApiTokensByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: ApiTokenResponse; + /** + * successful operation + */ + 200: ApiTokenResponse; }; -export type GetApiTokensByIdRelationshipsByRelationResponse = GetApiTokensByIdRelationshipsByRelationResponses[keyof GetApiTokensByIdRelationshipsByRelationResponses]; +export type GetApiTokensByIdRelationshipsByRelationResponse = + GetApiTokensByIdRelationshipsByRelationResponses[keyof GetApiTokensByIdRelationshipsByRelationResponses]; export type PatchApiTokensByIdRelationshipsByRelationData = { - body: ApiTokenRelationUser; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/apiTokens/{id}/relationships/{relation}'; + body: ApiTokenRelationUser; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}/relationships/{relation}'; }; export type PatchApiTokensByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchApiTokensByIdRelationshipsByRelationError = PatchApiTokensByIdRelationshipsByRelationErrors[keyof PatchApiTokensByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchApiTokensByIdRelationshipsByRelationError = + PatchApiTokensByIdRelationshipsByRelationErrors[keyof PatchApiTokensByIdRelationshipsByRelationErrors]; export type PatchApiTokensByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchApiTokensByIdRelationshipsByRelationResponse = PatchApiTokensByIdRelationshipsByRelationResponses[keyof PatchApiTokensByIdRelationshipsByRelationResponses]; +export type PatchApiTokensByIdRelationshipsByRelationResponse = + PatchApiTokensByIdRelationshipsByRelationResponses[keyof PatchApiTokensByIdRelationshipsByRelationResponses]; export type DeleteApiTokensByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/apiTokens/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}'; }; export type DeleteApiTokensByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteApiTokensByIdError = DeleteApiTokensByIdErrors[keyof DeleteApiTokensByIdErrors]; export type DeleteApiTokensByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteApiTokensByIdResponse = DeleteApiTokensByIdResponses[keyof DeleteApiTokensByIdResponses]; export type GetApiTokensByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/apiTokens/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/apiTokens/{id}'; }; export type GetApiTokensByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetApiTokensByIdError = GetApiTokensByIdErrors[keyof GetApiTokensByIdErrors]; export type GetApiTokensByIdResponses = { - /** - * successful operation - */ - 200: ApiTokenResponse; + /** + * successful operation + */ + 200: ApiTokenResponse; }; export type GetApiTokensByIdResponse = GetApiTokensByIdResponses[keyof GetApiTokensByIdResponses]; export type PatchApiTokensByIdData = { - body: ApiTokenPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/apiTokens/{id}'; + body: ApiTokenPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/apiTokens/{id}'; }; export type PatchApiTokensByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchApiTokensByIdError = PatchApiTokensByIdErrors[keyof PatchApiTokensByIdErrors]; export type PatchApiTokensByIdResponses = { - /** - * successful operation - */ - 200: ApiTokenPostPatchResponse; + /** + * successful operation + */ + 200: ApiTokenPostPatchResponse; }; export type PatchApiTokensByIdResponse = PatchApiTokensByIdResponses[keyof PatchApiTokensByIdResponses]; export type GetChunksData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/chunks'; -}; - -export type GetChunksErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; /** - * Invalid request + * Amout of data to retrieve inside a single page */ - 400: ErrorResponse; + 'page[size]'?: number; /** - * Authentication failed + * Filters results using a query */ - 401: ErrorResponse; + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/chunks'; +}; + +export type GetChunksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetChunksError = GetChunksErrors[keyof GetChunksErrors]; export type GetChunksResponses = { - /** - * successful operation - */ - 200: ChunkListResponse; + /** + * successful operation + */ + 200: ChunkListResponse; }; export type GetChunksResponse = GetChunksResponses[keyof GetChunksResponses]; export type GetChunksCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/chunks/count'; -}; - -export type GetChunksCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/chunks/count'; +}; + +export type GetChunksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetChunksCountError = GetChunksCountErrors[keyof GetChunksCountErrors]; export type GetChunksCountResponses = { - /** - * successful operation - */ - 200: ChunkListResponse; + /** + * successful operation + */ + 200: ChunkListResponse; }; export type GetChunksCountResponse = GetChunksCountResponses[keyof GetChunksCountResponses]; export type GetChunksByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/chunks/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/chunks/{id}/{relation}'; }; export type GetChunksByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetChunksByIdByRelationError = GetChunksByIdByRelationErrors[keyof GetChunksByIdByRelationErrors]; export type GetChunksByIdByRelationResponses = { - /** - * successful operation - */ - 200: ChunkRelationTaskGetResponse; + /** + * successful operation + */ + 200: ChunkRelationTaskGetResponse; }; export type GetChunksByIdByRelationResponse = GetChunksByIdByRelationResponses[keyof GetChunksByIdByRelationResponses]; export type GetChunksByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/chunks/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/chunks/{id}/relationships/{relation}'; }; export type GetChunksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetChunksByIdRelationshipsByRelationError = GetChunksByIdRelationshipsByRelationErrors[keyof GetChunksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetChunksByIdRelationshipsByRelationError = + GetChunksByIdRelationshipsByRelationErrors[keyof GetChunksByIdRelationshipsByRelationErrors]; export type GetChunksByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: ChunkResponse; + /** + * successful operation + */ + 200: ChunkResponse; }; -export type GetChunksByIdRelationshipsByRelationResponse = GetChunksByIdRelationshipsByRelationResponses[keyof GetChunksByIdRelationshipsByRelationResponses]; +export type GetChunksByIdRelationshipsByRelationResponse = + GetChunksByIdRelationshipsByRelationResponses[keyof GetChunksByIdRelationshipsByRelationResponses]; export type PatchChunksByIdRelationshipsByRelationData = { - body: ChunkRelationTask; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/chunks/{id}/relationships/{relation}'; + body: ChunkRelationTask; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/chunks/{id}/relationships/{relation}'; }; export type PatchChunksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchChunksByIdRelationshipsByRelationError = PatchChunksByIdRelationshipsByRelationErrors[keyof PatchChunksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchChunksByIdRelationshipsByRelationError = + PatchChunksByIdRelationshipsByRelationErrors[keyof PatchChunksByIdRelationshipsByRelationErrors]; export type PatchChunksByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchChunksByIdRelationshipsByRelationResponse = PatchChunksByIdRelationshipsByRelationResponses[keyof PatchChunksByIdRelationshipsByRelationResponses]; +export type PatchChunksByIdRelationshipsByRelationResponse = + PatchChunksByIdRelationshipsByRelationResponses[keyof PatchChunksByIdRelationshipsByRelationResponses]; export type GetChunksByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/chunks/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/chunks/{id}'; }; export type GetChunksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetChunksByIdError = GetChunksByIdErrors[keyof GetChunksByIdErrors]; export type GetChunksByIdResponses = { - /** - * successful operation - */ - 200: ChunkResponse; + /** + * successful operation + */ + 200: ChunkResponse; }; export type GetChunksByIdResponse = GetChunksByIdResponses[keyof GetChunksByIdResponses]; export type GetConfigsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/configs'; -}; - -export type GetConfigsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/configs'; +}; + +export type GetConfigsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetConfigsError = GetConfigsErrors[keyof GetConfigsErrors]; export type GetConfigsResponses = { - /** - * successful operation - */ - 200: ConfigListResponse; + /** + * successful operation + */ + 200: ConfigListResponse; }; export type GetConfigsResponse = GetConfigsResponses[keyof GetConfigsResponses]; export type PatchConfigsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/configs'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/configs'; }; export type PatchConfigsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchConfigsError = PatchConfigsErrors[keyof PatchConfigsErrors]; export type PatchConfigsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetConfigsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/configs/count'; -}; - -export type GetConfigsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; /** - * Invalid request + * Amout of data to retrieve inside a single page */ - 400: ErrorResponse; + 'page[size]'?: number; /** - * Authentication failed + * Filters results using a query */ - 401: ErrorResponse; + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/configs/count'; +}; + +export type GetConfigsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetConfigsCountError = GetConfigsCountErrors[keyof GetConfigsCountErrors]; export type GetConfigsCountResponses = { - /** - * successful operation - */ - 200: ConfigListResponse; + /** + * successful operation + */ + 200: ConfigListResponse; }; export type GetConfigsCountResponse = GetConfigsCountResponses[keyof GetConfigsCountResponses]; export type GetConfigsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/configs/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/configs/{id}/{relation}'; }; export type GetConfigsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetConfigsByIdByRelationError = GetConfigsByIdByRelationErrors[keyof GetConfigsByIdByRelationErrors]; export type GetConfigsByIdByRelationResponses = { - /** - * successful operation - */ - 200: ConfigRelationConfigSectionGetResponse; -}; - -export type GetConfigsByIdByRelationResponse = GetConfigsByIdByRelationResponses[keyof GetConfigsByIdByRelationResponses]; - -export type GetConfigsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/configs/{id}/relationships/{relation}'; + /** + * successful operation + */ + 200: ConfigRelationConfigSectionGetResponse; }; - -export type GetConfigsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + +export type GetConfigsByIdByRelationResponse = + GetConfigsByIdByRelationResponses[keyof GetConfigsByIdByRelationResponses]; + +export type GetConfigsByIdRelationshipsByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/configs/{id}/relationships/{relation}'; }; -export type GetConfigsByIdRelationshipsByRelationError = GetConfigsByIdRelationshipsByRelationErrors[keyof GetConfigsByIdRelationshipsByRelationErrors]; +export type GetConfigsByIdRelationshipsByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetConfigsByIdRelationshipsByRelationError = + GetConfigsByIdRelationshipsByRelationErrors[keyof GetConfigsByIdRelationshipsByRelationErrors]; export type GetConfigsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: ConfigResponse; + /** + * successful operation + */ + 200: ConfigResponse; }; -export type GetConfigsByIdRelationshipsByRelationResponse = GetConfigsByIdRelationshipsByRelationResponses[keyof GetConfigsByIdRelationshipsByRelationResponses]; +export type GetConfigsByIdRelationshipsByRelationResponse = + GetConfigsByIdRelationshipsByRelationResponses[keyof GetConfigsByIdRelationshipsByRelationResponses]; export type PatchConfigsByIdRelationshipsByRelationData = { - body: ConfigRelationConfigSection; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/configs/{id}/relationships/{relation}'; + body: ConfigRelationConfigSection; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/configs/{id}/relationships/{relation}'; }; export type PatchConfigsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchConfigsByIdRelationshipsByRelationError = PatchConfigsByIdRelationshipsByRelationErrors[keyof PatchConfigsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchConfigsByIdRelationshipsByRelationError = + PatchConfigsByIdRelationshipsByRelationErrors[keyof PatchConfigsByIdRelationshipsByRelationErrors]; export type PatchConfigsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchConfigsByIdRelationshipsByRelationResponse = PatchConfigsByIdRelationshipsByRelationResponses[keyof PatchConfigsByIdRelationshipsByRelationResponses]; +export type PatchConfigsByIdRelationshipsByRelationResponse = + PatchConfigsByIdRelationshipsByRelationResponses[keyof PatchConfigsByIdRelationshipsByRelationResponses]; export type GetConfigsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/configs/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/configs/{id}'; }; export type GetConfigsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetConfigsByIdError = GetConfigsByIdErrors[keyof GetConfigsByIdErrors]; export type GetConfigsByIdResponses = { - /** - * successful operation - */ - 200: ConfigResponse; + /** + * successful operation + */ + 200: ConfigResponse; }; export type GetConfigsByIdResponse = GetConfigsByIdResponses[keyof GetConfigsByIdResponses]; export type PatchConfigsByIdData = { - body: ConfigPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/configs/{id}'; + body: ConfigPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/configs/{id}'; }; export type PatchConfigsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchConfigsByIdError = PatchConfigsByIdErrors[keyof PatchConfigsByIdErrors]; export type PatchConfigsByIdResponses = { - /** - * successful operation - */ - 200: ConfigPostPatchResponse; + /** + * successful operation + */ + 200: ConfigPostPatchResponse; }; export type PatchConfigsByIdResponse = PatchConfigsByIdResponses[keyof PatchConfigsByIdResponses]; export type GetConfigsectionsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/configsections'; -}; - -export type GetConfigsectionsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; /** - * Invalid request + * Pointer to paginate to retrieve the data before the value provided */ - 400: ErrorResponse; + 'page[before]'?: number; /** - * Authentication failed + * Amout of data to retrieve inside a single page */ - 401: ErrorResponse; + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/configsections'; +}; + +export type GetConfigsectionsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetConfigsectionsError = GetConfigsectionsErrors[keyof GetConfigsectionsErrors]; export type GetConfigsectionsResponses = { - /** - * successful operation - */ - 200: ConfigSectionListResponse; + /** + * successful operation + */ + 200: ConfigSectionListResponse; }; export type GetConfigsectionsResponse = GetConfigsectionsResponses[keyof GetConfigsectionsResponses]; export type GetConfigsectionsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/configsections/count'; -}; - -export type GetConfigsectionsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/configsections/count'; +}; + +export type GetConfigsectionsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetConfigsectionsCountError = GetConfigsectionsCountErrors[keyof GetConfigsectionsCountErrors]; export type GetConfigsectionsCountResponses = { - /** - * successful operation - */ - 200: ConfigSectionListResponse; + /** + * successful operation + */ + 200: ConfigSectionListResponse; }; export type GetConfigsectionsCountResponse = GetConfigsectionsCountResponses[keyof GetConfigsectionsCountResponses]; export type GetConfigsectionsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/configsections/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/configsections/{id}'; }; export type GetConfigsectionsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetConfigsectionsByIdError = GetConfigsectionsByIdErrors[keyof GetConfigsectionsByIdErrors]; export type GetConfigsectionsByIdResponses = { - /** - * successful operation - */ - 200: ConfigSectionResponse; + /** + * successful operation + */ + 200: ConfigSectionResponse; }; export type GetConfigsectionsByIdResponse = GetConfigsectionsByIdResponses[keyof GetConfigsectionsByIdResponses]; export type DeleteCrackersData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/crackers'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/crackers'; }; export type DeleteCrackersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteCrackersError = DeleteCrackersErrors[keyof DeleteCrackersErrors]; export type DeleteCrackersResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetCrackersData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/crackers'; -}; - -export type GetCrackersErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/crackers'; +}; + +export type GetCrackersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetCrackersError = GetCrackersErrors[keyof GetCrackersErrors]; export type GetCrackersResponses = { - /** - * successful operation - */ - 200: CrackerBinaryListResponse; + /** + * successful operation + */ + 200: CrackerBinaryListResponse; }; export type GetCrackersResponse = GetCrackersResponses[keyof GetCrackersResponses]; export type PatchCrackersData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/crackers'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/crackers'; }; export type PatchCrackersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchCrackersError = PatchCrackersErrors[keyof PatchCrackersErrors]; export type PatchCrackersResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostCrackersData = { - body: CrackerBinaryCreate; - path?: never; - query?: never; - url: '/api/v2/ui/crackers'; + body: CrackerBinaryCreate; + path?: never; + query?: never; + url: '/api/v2/ui/crackers'; }; export type PostCrackersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostCrackersError = PostCrackersErrors[keyof PostCrackersErrors]; export type PostCrackersResponses = { - /** - * successful operation - */ - 201: CrackerBinaryPostPatchResponse; + /** + * successful operation + */ + 201: CrackerBinaryPostPatchResponse; }; export type PostCrackersResponse = PostCrackersResponses[keyof PostCrackersResponses]; export type GetCrackersCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/crackers/count'; -}; - -export type GetCrackersCountErrors = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/crackers/count'; +}; + +export type GetCrackersCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetCrackersCountError = GetCrackersCountErrors[keyof GetCrackersCountErrors]; export type GetCrackersCountResponses = { - /** - * successful operation - */ - 200: CrackerBinaryListResponse; + /** + * successful operation + */ + 200: CrackerBinaryListResponse; }; export type GetCrackersCountResponse = GetCrackersCountResponses[keyof GetCrackersCountResponses]; export type GetCrackersByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackers/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/{relation}'; }; export type GetCrackersByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetCrackersByIdByRelationError = GetCrackersByIdByRelationErrors[keyof GetCrackersByIdByRelationErrors]; export type GetCrackersByIdByRelationResponses = { - /** - * successful operation - */ - 200: CrackerBinaryRelationTasksGetResponse; + /** + * successful operation + */ + 200: CrackerBinaryRelationTasksGetResponse; }; -export type GetCrackersByIdByRelationResponse = GetCrackersByIdByRelationResponses[keyof GetCrackersByIdByRelationResponses]; +export type GetCrackersByIdByRelationResponse = + GetCrackersByIdByRelationResponses[keyof GetCrackersByIdByRelationResponses]; export type DeleteCrackersByIdRelationshipsByRelationData = { - body: CrackerBinaryRelationTasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; + body: CrackerBinaryRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; }; export type DeleteCrackersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteCrackersByIdRelationshipsByRelationError = DeleteCrackersByIdRelationshipsByRelationErrors[keyof DeleteCrackersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteCrackersByIdRelationshipsByRelationError = + DeleteCrackersByIdRelationshipsByRelationErrors[keyof DeleteCrackersByIdRelationshipsByRelationErrors]; export type DeleteCrackersByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteCrackersByIdRelationshipsByRelationResponse = DeleteCrackersByIdRelationshipsByRelationResponses[keyof DeleteCrackersByIdRelationshipsByRelationResponses]; +export type DeleteCrackersByIdRelationshipsByRelationResponse = + DeleteCrackersByIdRelationshipsByRelationResponses[keyof DeleteCrackersByIdRelationshipsByRelationResponses]; export type GetCrackersByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; }; export type GetCrackersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetCrackersByIdRelationshipsByRelationError = GetCrackersByIdRelationshipsByRelationErrors[keyof GetCrackersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetCrackersByIdRelationshipsByRelationError = + GetCrackersByIdRelationshipsByRelationErrors[keyof GetCrackersByIdRelationshipsByRelationErrors]; export type GetCrackersByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: CrackerBinaryResponse; + /** + * successful operation + */ + 200: CrackerBinaryResponse; }; -export type GetCrackersByIdRelationshipsByRelationResponse = GetCrackersByIdRelationshipsByRelationResponses[keyof GetCrackersByIdRelationshipsByRelationResponses]; +export type GetCrackersByIdRelationshipsByRelationResponse = + GetCrackersByIdRelationshipsByRelationResponses[keyof GetCrackersByIdRelationshipsByRelationResponses]; export type PatchCrackersByIdRelationshipsByRelationData = { - body: CrackerBinaryRelationTasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; + body: CrackerBinaryRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; }; export type PatchCrackersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchCrackersByIdRelationshipsByRelationError = PatchCrackersByIdRelationshipsByRelationErrors[keyof PatchCrackersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchCrackersByIdRelationshipsByRelationError = + PatchCrackersByIdRelationshipsByRelationErrors[keyof PatchCrackersByIdRelationshipsByRelationErrors]; export type PatchCrackersByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchCrackersByIdRelationshipsByRelationResponse = PatchCrackersByIdRelationshipsByRelationResponses[keyof PatchCrackersByIdRelationshipsByRelationResponses]; +export type PatchCrackersByIdRelationshipsByRelationResponse = + PatchCrackersByIdRelationshipsByRelationResponses[keyof PatchCrackersByIdRelationshipsByRelationResponses]; export type PostCrackersByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}/relationships/{relation}'; }; export type PostCrackersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostCrackersByIdRelationshipsByRelationError = PostCrackersByIdRelationshipsByRelationErrors[keyof PostCrackersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostCrackersByIdRelationshipsByRelationError = + PostCrackersByIdRelationshipsByRelationErrors[keyof PostCrackersByIdRelationshipsByRelationErrors]; export type PostCrackersByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostCrackersByIdRelationshipsByRelationResponse = PostCrackersByIdRelationshipsByRelationResponses[keyof PostCrackersByIdRelationshipsByRelationResponses]; +export type PostCrackersByIdRelationshipsByRelationResponse = + PostCrackersByIdRelationshipsByRelationResponses[keyof PostCrackersByIdRelationshipsByRelationResponses]; export type DeleteCrackersByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/crackers/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}'; }; export type DeleteCrackersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteCrackersByIdError = DeleteCrackersByIdErrors[keyof DeleteCrackersByIdErrors]; export type DeleteCrackersByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteCrackersByIdResponse = DeleteCrackersByIdResponses[keyof DeleteCrackersByIdResponses]; export type GetCrackersByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/crackers/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/crackers/{id}'; }; export type GetCrackersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetCrackersByIdError = GetCrackersByIdErrors[keyof GetCrackersByIdErrors]; export type GetCrackersByIdResponses = { - /** - * successful operation - */ - 200: CrackerBinaryResponse; + /** + * successful operation + */ + 200: CrackerBinaryResponse; }; export type GetCrackersByIdResponse = GetCrackersByIdResponses[keyof GetCrackersByIdResponses]; export type PatchCrackersByIdData = { - body: CrackerBinaryPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/crackers/{id}'; + body: CrackerBinaryPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/crackers/{id}'; }; export type PatchCrackersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchCrackersByIdError = PatchCrackersByIdErrors[keyof PatchCrackersByIdErrors]; export type PatchCrackersByIdResponses = { - /** - * successful operation - */ - 200: CrackerBinaryPostPatchResponse; + /** + * successful operation + */ + 200: CrackerBinaryPostPatchResponse; }; export type PatchCrackersByIdResponse = PatchCrackersByIdResponses[keyof PatchCrackersByIdResponses]; export type DeleteCrackertypesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/crackertypes'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/crackertypes'; }; export type DeleteCrackertypesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteCrackertypesError = DeleteCrackertypesErrors[keyof DeleteCrackertypesErrors]; export type DeleteCrackertypesResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetCrackertypesData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/crackertypes'; -}; - -export type GetCrackertypesErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; /** - * Invalid request + * Pointer to paginate to retrieve the data before the value provided */ - 400: ErrorResponse; + 'page[before]'?: number; /** - * Authentication failed + * Amout of data to retrieve inside a single page */ - 401: ErrorResponse; + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/crackertypes'; +}; + +export type GetCrackertypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetCrackertypesError = GetCrackertypesErrors[keyof GetCrackertypesErrors]; export type GetCrackertypesResponses = { - /** - * successful operation - */ - 200: CrackerBinaryTypeListResponse; + /** + * successful operation + */ + 200: CrackerBinaryTypeListResponse; }; export type GetCrackertypesResponse = GetCrackertypesResponses[keyof GetCrackertypesResponses]; export type PatchCrackertypesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/crackertypes'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/crackertypes'; }; export type PatchCrackertypesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchCrackertypesError = PatchCrackertypesErrors[keyof PatchCrackertypesErrors]; export type PatchCrackertypesResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostCrackertypesData = { - body: CrackerBinaryTypeCreate; - path?: never; - query?: never; - url: '/api/v2/ui/crackertypes'; + body: CrackerBinaryTypeCreate; + path?: never; + query?: never; + url: '/api/v2/ui/crackertypes'; }; export type PostCrackertypesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostCrackertypesError = PostCrackertypesErrors[keyof PostCrackertypesErrors]; export type PostCrackertypesResponses = { - /** - * successful operation - */ - 201: CrackerBinaryTypePostPatchResponse; + /** + * successful operation + */ + 201: CrackerBinaryTypePostPatchResponse; }; export type PostCrackertypesResponse = PostCrackertypesResponses[keyof PostCrackertypesResponses]; export type GetCrackertypesCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/crackertypes/count'; -}; - -export type GetCrackertypesCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/crackertypes/count'; +}; + +export type GetCrackertypesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetCrackertypesCountError = GetCrackertypesCountErrors[keyof GetCrackertypesCountErrors]; export type GetCrackertypesCountResponses = { - /** - * successful operation - */ - 200: CrackerBinaryTypeListResponse; + /** + * successful operation + */ + 200: CrackerBinaryTypeListResponse; }; export type GetCrackertypesCountResponse = GetCrackertypesCountResponses[keyof GetCrackertypesCountResponses]; export type GetCrackertypesByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackertypes/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/{relation}'; }; export type GetCrackertypesByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetCrackertypesByIdByRelationError = GetCrackertypesByIdByRelationErrors[keyof GetCrackertypesByIdByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetCrackertypesByIdByRelationError = + GetCrackertypesByIdByRelationErrors[keyof GetCrackertypesByIdByRelationErrors]; export type GetCrackertypesByIdByRelationResponses = { - /** - * successful operation - */ - 200: CrackerBinaryTypeRelationTasksGetResponse; + /** + * successful operation + */ + 200: CrackerBinaryTypeRelationTasksGetResponse; }; -export type GetCrackertypesByIdByRelationResponse = GetCrackertypesByIdByRelationResponses[keyof GetCrackertypesByIdByRelationResponses]; +export type GetCrackertypesByIdByRelationResponse = + GetCrackertypesByIdByRelationResponses[keyof GetCrackertypesByIdByRelationResponses]; export type DeleteCrackertypesByIdRelationshipsByRelationData = { - body: CrackerBinaryTypeRelationTasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; + body: CrackerBinaryTypeRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; }; export type DeleteCrackertypesByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteCrackertypesByIdRelationshipsByRelationError = DeleteCrackertypesByIdRelationshipsByRelationErrors[keyof DeleteCrackertypesByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteCrackertypesByIdRelationshipsByRelationError = + DeleteCrackertypesByIdRelationshipsByRelationErrors[keyof DeleteCrackertypesByIdRelationshipsByRelationErrors]; export type DeleteCrackertypesByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteCrackertypesByIdRelationshipsByRelationResponse = DeleteCrackertypesByIdRelationshipsByRelationResponses[keyof DeleteCrackertypesByIdRelationshipsByRelationResponses]; +export type DeleteCrackertypesByIdRelationshipsByRelationResponse = + DeleteCrackertypesByIdRelationshipsByRelationResponses[keyof DeleteCrackertypesByIdRelationshipsByRelationResponses]; export type GetCrackertypesByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; }; export type GetCrackertypesByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetCrackertypesByIdRelationshipsByRelationError = GetCrackertypesByIdRelationshipsByRelationErrors[keyof GetCrackertypesByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetCrackertypesByIdRelationshipsByRelationError = + GetCrackertypesByIdRelationshipsByRelationErrors[keyof GetCrackertypesByIdRelationshipsByRelationErrors]; export type GetCrackertypesByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: CrackerBinaryTypeResponse; + /** + * successful operation + */ + 200: CrackerBinaryTypeResponse; }; -export type GetCrackertypesByIdRelationshipsByRelationResponse = GetCrackertypesByIdRelationshipsByRelationResponses[keyof GetCrackertypesByIdRelationshipsByRelationResponses]; +export type GetCrackertypesByIdRelationshipsByRelationResponse = + GetCrackertypesByIdRelationshipsByRelationResponses[keyof GetCrackertypesByIdRelationshipsByRelationResponses]; export type PatchCrackertypesByIdRelationshipsByRelationData = { - body: CrackerBinaryTypeRelationTasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; + body: CrackerBinaryTypeRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; }; export type PatchCrackertypesByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchCrackertypesByIdRelationshipsByRelationError = PatchCrackertypesByIdRelationshipsByRelationErrors[keyof PatchCrackertypesByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchCrackertypesByIdRelationshipsByRelationError = + PatchCrackertypesByIdRelationshipsByRelationErrors[keyof PatchCrackertypesByIdRelationshipsByRelationErrors]; export type PatchCrackertypesByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchCrackertypesByIdRelationshipsByRelationResponse = PatchCrackertypesByIdRelationshipsByRelationResponses[keyof PatchCrackertypesByIdRelationshipsByRelationResponses]; +export type PatchCrackertypesByIdRelationshipsByRelationResponse = + PatchCrackertypesByIdRelationshipsByRelationResponses[keyof PatchCrackertypesByIdRelationshipsByRelationResponses]; export type PostCrackertypesByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}/relationships/{relation}'; }; export type PostCrackertypesByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostCrackertypesByIdRelationshipsByRelationError = PostCrackertypesByIdRelationshipsByRelationErrors[keyof PostCrackertypesByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostCrackertypesByIdRelationshipsByRelationError = + PostCrackertypesByIdRelationshipsByRelationErrors[keyof PostCrackertypesByIdRelationshipsByRelationErrors]; export type PostCrackertypesByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostCrackertypesByIdRelationshipsByRelationResponse = PostCrackertypesByIdRelationshipsByRelationResponses[keyof PostCrackertypesByIdRelationshipsByRelationResponses]; +export type PostCrackertypesByIdRelationshipsByRelationResponse = + PostCrackertypesByIdRelationshipsByRelationResponses[keyof PostCrackertypesByIdRelationshipsByRelationResponses]; export type DeleteCrackertypesByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/crackertypes/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}'; }; export type DeleteCrackertypesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteCrackertypesByIdError = DeleteCrackertypesByIdErrors[keyof DeleteCrackertypesByIdErrors]; export type DeleteCrackertypesByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteCrackertypesByIdResponse = DeleteCrackertypesByIdResponses[keyof DeleteCrackertypesByIdResponses]; export type GetCrackertypesByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/crackertypes/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/crackertypes/{id}'; }; export type GetCrackertypesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetCrackertypesByIdError = GetCrackertypesByIdErrors[keyof GetCrackertypesByIdErrors]; export type GetCrackertypesByIdResponses = { - /** - * successful operation - */ - 200: CrackerBinaryTypeResponse; + /** + * successful operation + */ + 200: CrackerBinaryTypeResponse; }; export type GetCrackertypesByIdResponse = GetCrackertypesByIdResponses[keyof GetCrackertypesByIdResponses]; export type PatchCrackertypesByIdData = { - body: CrackerBinaryTypePatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/crackertypes/{id}'; + body: CrackerBinaryTypePatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/crackertypes/{id}'; }; export type PatchCrackertypesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchCrackertypesByIdError = PatchCrackertypesByIdErrors[keyof PatchCrackertypesByIdErrors]; export type PatchCrackertypesByIdResponses = { - /** - * successful operation - */ - 200: CrackerBinaryTypePostPatchResponse; + /** + * successful operation + */ + 200: CrackerBinaryTypePostPatchResponse; }; export type PatchCrackertypesByIdResponse = PatchCrackertypesByIdResponses[keyof PatchCrackertypesByIdResponses]; export type DeleteFilesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/files'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/files'; }; export type DeleteFilesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteFilesError = DeleteFilesErrors[keyof DeleteFilesErrors]; export type DeleteFilesResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetFilesData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/files'; -}; - -export type GetFilesErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/files'; +}; + +export type GetFilesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetFilesError = GetFilesErrors[keyof GetFilesErrors]; export type GetFilesResponses = { - /** - * successful operation - */ - 200: FileListResponse; + /** + * successful operation + */ + 200: FileListResponse; }; export type GetFilesResponse = GetFilesResponses[keyof GetFilesResponses]; export type PatchFilesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/files'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/files'; }; export type PatchFilesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchFilesError = PatchFilesErrors[keyof PatchFilesErrors]; export type PatchFilesResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostFilesData = { - body: FileCreate; - path?: never; - query?: never; - url: '/api/v2/ui/files'; + body: FileCreate; + path?: never; + query?: never; + url: '/api/v2/ui/files'; }; export type PostFilesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostFilesError = PostFilesErrors[keyof PostFilesErrors]; export type PostFilesResponses = { - /** - * successful operation - */ - 201: FilePostPatchResponse; + /** + * successful operation + */ + 201: FilePostPatchResponse; }; export type PostFilesResponse = PostFilesResponses[keyof PostFilesResponses]; export type GetFilesCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/files/count'; -}; - -export type GetFilesCountErrors = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/files/count'; +}; + +export type GetFilesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetFilesCountError = GetFilesCountErrors[keyof GetFilesCountErrors]; export type GetFilesCountResponses = { - /** - * successful operation - */ - 200: FileListResponse; + /** + * successful operation + */ + 200: FileListResponse; }; export type GetFilesCountResponse = GetFilesCountResponses[keyof GetFilesCountResponses]; export type GetFilesByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/files/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/files/{id}/{relation}'; }; export type GetFilesByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetFilesByIdByRelationError = GetFilesByIdByRelationErrors[keyof GetFilesByIdByRelationErrors]; export type GetFilesByIdByRelationResponses = { - /** - * successful operation - */ - 200: FileRelationAccessGroupGetResponse; + /** + * successful operation + */ + 200: FileRelationAccessGroupGetResponse; }; export type GetFilesByIdByRelationResponse = GetFilesByIdByRelationResponses[keyof GetFilesByIdByRelationResponses]; export type GetFilesByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/files/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/files/{id}/relationships/{relation}'; }; export type GetFilesByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetFilesByIdRelationshipsByRelationError = GetFilesByIdRelationshipsByRelationErrors[keyof GetFilesByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetFilesByIdRelationshipsByRelationError = + GetFilesByIdRelationshipsByRelationErrors[keyof GetFilesByIdRelationshipsByRelationErrors]; export type GetFilesByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: FileResponse; + /** + * successful operation + */ + 200: FileResponse; }; -export type GetFilesByIdRelationshipsByRelationResponse = GetFilesByIdRelationshipsByRelationResponses[keyof GetFilesByIdRelationshipsByRelationResponses]; +export type GetFilesByIdRelationshipsByRelationResponse = + GetFilesByIdRelationshipsByRelationResponses[keyof GetFilesByIdRelationshipsByRelationResponses]; export type PatchFilesByIdRelationshipsByRelationData = { - body: FileRelationAccessGroup; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/files/{id}/relationships/{relation}'; + body: FileRelationAccessGroup; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/files/{id}/relationships/{relation}'; }; export type PatchFilesByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchFilesByIdRelationshipsByRelationError = PatchFilesByIdRelationshipsByRelationErrors[keyof PatchFilesByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchFilesByIdRelationshipsByRelationError = + PatchFilesByIdRelationshipsByRelationErrors[keyof PatchFilesByIdRelationshipsByRelationErrors]; export type PatchFilesByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchFilesByIdRelationshipsByRelationResponse = PatchFilesByIdRelationshipsByRelationResponses[keyof PatchFilesByIdRelationshipsByRelationResponses]; +export type PatchFilesByIdRelationshipsByRelationResponse = + PatchFilesByIdRelationshipsByRelationResponses[keyof PatchFilesByIdRelationshipsByRelationResponses]; export type DeleteFilesByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/files/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/files/{id}'; }; export type DeleteFilesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteFilesByIdError = DeleteFilesByIdErrors[keyof DeleteFilesByIdErrors]; export type DeleteFilesByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteFilesByIdResponse = DeleteFilesByIdResponses[keyof DeleteFilesByIdResponses]; export type GetFilesByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/files/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/files/{id}'; }; export type GetFilesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetFilesByIdError = GetFilesByIdErrors[keyof GetFilesByIdErrors]; export type GetFilesByIdResponses = { - /** - * successful operation - */ - 200: FileResponse; + /** + * successful operation + */ + 200: FileResponse; }; export type GetFilesByIdResponse = GetFilesByIdResponses[keyof GetFilesByIdResponses]; export type PatchFilesByIdData = { - body: FilePatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/files/{id}'; + body: FilePatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/files/{id}'; }; export type PatchFilesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchFilesByIdError = PatchFilesByIdErrors[keyof PatchFilesByIdErrors]; export type PatchFilesByIdResponses = { - /** - * successful operation - */ - 200: FilePostPatchResponse; + /** + * successful operation + */ + 200: FilePostPatchResponse; }; export type PatchFilesByIdResponse = PatchFilesByIdResponses[keyof PatchFilesByIdResponses]; export type DeleteGlobalpermissiongroupsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/globalpermissiongroups'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/globalpermissiongroups'; +}; + +export type DeleteGlobalpermissiongroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type DeleteGlobalpermissiongroupsError = + DeleteGlobalpermissiongroupsErrors[keyof DeleteGlobalpermissiongroupsErrors]; + +export type DeleteGlobalpermissiongroupsResponses = { + /** + * successful operation + */ + 200: unknown; }; -export type DeleteGlobalpermissiongroupsErrors = { +export type GetGlobalpermissiongroupsData = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; -}; - -export type DeleteGlobalpermissiongroupsError = DeleteGlobalpermissiongroupsErrors[keyof DeleteGlobalpermissiongroupsErrors]; - -export type DeleteGlobalpermissiongroupsResponses = { + 'page[before]'?: number; /** - * successful operation + * Amout of data to retrieve inside a single page */ - 200: unknown; -}; - -export type GetGlobalpermissiongroupsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/globalpermissiongroups'; -}; - -export type GetGlobalpermissiongroupsErrors = { + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/globalpermissiongroups'; +}; + +export type GetGlobalpermissiongroupsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetGlobalpermissiongroupsError = GetGlobalpermissiongroupsErrors[keyof GetGlobalpermissiongroupsErrors]; export type GetGlobalpermissiongroupsResponses = { - /** - * successful operation - */ - 200: GlobalPermissionGroupListResponse; + /** + * successful operation + */ + 200: GlobalPermissionGroupListResponse; }; -export type GetGlobalpermissiongroupsResponse = GetGlobalpermissiongroupsResponses[keyof GetGlobalpermissiongroupsResponses]; +export type GetGlobalpermissiongroupsResponse = + GetGlobalpermissiongroupsResponses[keyof GetGlobalpermissiongroupsResponses]; export type PatchGlobalpermissiongroupsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/globalpermissiongroups'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/globalpermissiongroups'; }; export type PatchGlobalpermissiongroupsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; -export type PatchGlobalpermissiongroupsError = PatchGlobalpermissiongroupsErrors[keyof PatchGlobalpermissiongroupsErrors]; +export type PatchGlobalpermissiongroupsError = + PatchGlobalpermissiongroupsErrors[keyof PatchGlobalpermissiongroupsErrors]; export type PatchGlobalpermissiongroupsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostGlobalpermissiongroupsData = { - body: GlobalPermissionGroupCreate; - path?: never; - query?: never; - url: '/api/v2/ui/globalpermissiongroups'; + body: GlobalPermissionGroupCreate; + path?: never; + query?: never; + url: '/api/v2/ui/globalpermissiongroups'; }; export type PostGlobalpermissiongroupsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostGlobalpermissiongroupsError = PostGlobalpermissiongroupsErrors[keyof PostGlobalpermissiongroupsErrors]; export type PostGlobalpermissiongroupsResponses = { - /** - * successful operation - */ - 201: GlobalPermissionGroupPostPatchResponse; + /** + * successful operation + */ + 201: GlobalPermissionGroupPostPatchResponse; }; -export type PostGlobalpermissiongroupsResponse = PostGlobalpermissiongroupsResponses[keyof PostGlobalpermissiongroupsResponses]; +export type PostGlobalpermissiongroupsResponse = + PostGlobalpermissiongroupsResponses[keyof PostGlobalpermissiongroupsResponses]; export type GetGlobalpermissiongroupsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/globalpermissiongroups/count'; -}; - -export type GetGlobalpermissiongroupsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/globalpermissiongroups/count'; }; -export type GetGlobalpermissiongroupsCountError = GetGlobalpermissiongroupsCountErrors[keyof GetGlobalpermissiongroupsCountErrors]; +export type GetGlobalpermissiongroupsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; + +export type GetGlobalpermissiongroupsCountError = + GetGlobalpermissiongroupsCountErrors[keyof GetGlobalpermissiongroupsCountErrors]; export type GetGlobalpermissiongroupsCountResponses = { - /** - * successful operation - */ - 200: GlobalPermissionGroupListResponse; + /** + * successful operation + */ + 200: GlobalPermissionGroupListResponse; }; -export type GetGlobalpermissiongroupsCountResponse = GetGlobalpermissiongroupsCountResponses[keyof GetGlobalpermissiongroupsCountResponses]; +export type GetGlobalpermissiongroupsCountResponse = + GetGlobalpermissiongroupsCountResponses[keyof GetGlobalpermissiongroupsCountResponses]; export type GetGlobalpermissiongroupsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/globalpermissiongroups/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/{relation}'; }; export type GetGlobalpermissiongroupsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetGlobalpermissiongroupsByIdByRelationError = GetGlobalpermissiongroupsByIdByRelationErrors[keyof GetGlobalpermissiongroupsByIdByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetGlobalpermissiongroupsByIdByRelationError = + GetGlobalpermissiongroupsByIdByRelationErrors[keyof GetGlobalpermissiongroupsByIdByRelationErrors]; export type GetGlobalpermissiongroupsByIdByRelationResponses = { - /** - * successful operation - */ - 200: GlobalPermissionGroupRelationUserMembersGetResponse; + /** + * successful operation + */ + 200: GlobalPermissionGroupRelationUserMembersGetResponse; }; -export type GetGlobalpermissiongroupsByIdByRelationResponse = GetGlobalpermissiongroupsByIdByRelationResponses[keyof GetGlobalpermissiongroupsByIdByRelationResponses]; +export type GetGlobalpermissiongroupsByIdByRelationResponse = + GetGlobalpermissiongroupsByIdByRelationResponses[keyof GetGlobalpermissiongroupsByIdByRelationResponses]; export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationData = { - body: GlobalPermissionGroupRelationUserMembers; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; + body: GlobalPermissionGroupRelationUserMembers; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; }; export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError = DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationError = + DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof DeleteGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse = DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; +export type DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse = + DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof DeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; export type GetGlobalpermissiongroupsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; }; export type GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetGlobalpermissiongroupsByIdRelationshipsByRelationError = GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetGlobalpermissiongroupsByIdRelationshipsByRelationError = + GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof GetGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; export type GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: GlobalPermissionGroupResponse; + /** + * successful operation + */ + 200: GlobalPermissionGroupResponse; }; -export type GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse = GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; +export type GetGlobalpermissiongroupsByIdRelationshipsByRelationResponse = + GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof GetGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationData = { - body: GlobalPermissionGroupRelationUserMembers; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; + body: GlobalPermissionGroupRelationUserMembers; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; }; export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationError = PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationError = + PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof PatchGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse = PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; +export type PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse = + PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof PatchGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; export type PostGlobalpermissiongroupsByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}/relationships/{relation}'; }; export type PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostGlobalpermissiongroupsByIdRelationshipsByRelationError = PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostGlobalpermissiongroupsByIdRelationshipsByRelationError = + PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors[keyof PostGlobalpermissiongroupsByIdRelationshipsByRelationErrors]; export type PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse = PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; +export type PostGlobalpermissiongroupsByIdRelationshipsByRelationResponse = + PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses[keyof PostGlobalpermissiongroupsByIdRelationshipsByRelationResponses]; export type DeleteGlobalpermissiongroupsByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/globalpermissiongroups/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}'; }; export type DeleteGlobalpermissiongroupsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteGlobalpermissiongroupsByIdError = DeleteGlobalpermissiongroupsByIdErrors[keyof DeleteGlobalpermissiongroupsByIdErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteGlobalpermissiongroupsByIdError = + DeleteGlobalpermissiongroupsByIdErrors[keyof DeleteGlobalpermissiongroupsByIdErrors]; export type DeleteGlobalpermissiongroupsByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteGlobalpermissiongroupsByIdResponse = DeleteGlobalpermissiongroupsByIdResponses[keyof DeleteGlobalpermissiongroupsByIdResponses]; +export type DeleteGlobalpermissiongroupsByIdResponse = + DeleteGlobalpermissiongroupsByIdResponses[keyof DeleteGlobalpermissiongroupsByIdResponses]; export type GetGlobalpermissiongroupsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/globalpermissiongroups/{id}'; -}; - -export type GetGlobalpermissiongroupsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + body?: never; + path: { + id: number; + }; + query?: { /** - * Not Found + * Items to include. Comma seperated */ - 404: NotFoundResponse; + include?: string; + }; + url: '/api/v2/ui/globalpermissiongroups/{id}'; }; -export type GetGlobalpermissiongroupsByIdError = GetGlobalpermissiongroupsByIdErrors[keyof GetGlobalpermissiongroupsByIdErrors]; +export type GetGlobalpermissiongroupsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetGlobalpermissiongroupsByIdError = + GetGlobalpermissiongroupsByIdErrors[keyof GetGlobalpermissiongroupsByIdErrors]; export type GetGlobalpermissiongroupsByIdResponses = { - /** - * successful operation - */ - 200: GlobalPermissionGroupResponse; + /** + * successful operation + */ + 200: GlobalPermissionGroupResponse; }; -export type GetGlobalpermissiongroupsByIdResponse = GetGlobalpermissiongroupsByIdResponses[keyof GetGlobalpermissiongroupsByIdResponses]; +export type GetGlobalpermissiongroupsByIdResponse = + GetGlobalpermissiongroupsByIdResponses[keyof GetGlobalpermissiongroupsByIdResponses]; export type PatchGlobalpermissiongroupsByIdData = { - body: GlobalPermissionGroupPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/globalpermissiongroups/{id}'; + body: GlobalPermissionGroupPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/globalpermissiongroups/{id}'; }; export type PatchGlobalpermissiongroupsByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchGlobalpermissiongroupsByIdError = + PatchGlobalpermissiongroupsByIdErrors[keyof PatchGlobalpermissiongroupsByIdErrors]; + +export type PatchGlobalpermissiongroupsByIdResponses = { + /** + * successful operation + */ + 200: GlobalPermissionGroupPostPatchResponse; +}; + +export type PatchGlobalpermissiongroupsByIdResponse = + PatchGlobalpermissiongroupsByIdResponses[keyof PatchGlobalpermissiongroupsByIdResponses]; + +export type GetHashesData = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; + 'page[before]'?: number; /** - * Not Found + * Amout of data to retrieve inside a single page */ - 404: NotFoundResponse; -}; - -export type PatchGlobalpermissiongroupsByIdError = PatchGlobalpermissiongroupsByIdErrors[keyof PatchGlobalpermissiongroupsByIdErrors]; - -export type PatchGlobalpermissiongroupsByIdResponses = { + 'page[size]'?: number; /** - * successful operation + * Filters results using a query */ - 200: GlobalPermissionGroupPostPatchResponse; -}; - -export type PatchGlobalpermissiongroupsByIdResponse = PatchGlobalpermissiongroupsByIdResponses[keyof PatchGlobalpermissiongroupsByIdResponses]; - -export type GetHashesData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; + filter?: { + [key: string]: unknown; }; - url: '/api/v2/ui/hashes'; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/hashes'; }; export type GetHashesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetHashesError = GetHashesErrors[keyof GetHashesErrors]; export type GetHashesResponses = { - /** - * successful operation - */ - 200: HashListResponse; + /** + * successful operation + */ + 200: HashListResponse; }; export type GetHashesResponse = GetHashesResponses[keyof GetHashesResponses]; export type GetHashesCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/hashes/count'; -}; - -export type GetHashesCountErrors = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/hashes/count'; +}; + +export type GetHashesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetHashesCountError = GetHashesCountErrors[keyof GetHashesCountErrors]; export type GetHashesCountResponses = { - /** - * successful operation - */ - 200: HashListResponse; + /** + * successful operation + */ + 200: HashListResponse; }; export type GetHashesCountResponse = GetHashesCountResponses[keyof GetHashesCountResponses]; export type GetHashesByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/hashes/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashes/{id}/{relation}'; }; export type GetHashesByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetHashesByIdByRelationError = GetHashesByIdByRelationErrors[keyof GetHashesByIdByRelationErrors]; export type GetHashesByIdByRelationResponses = { - /** - * successful operation - */ - 200: HashRelationHashlistGetResponse; + /** + * successful operation + */ + 200: HashRelationHashlistGetResponse; }; export type GetHashesByIdByRelationResponse = GetHashesByIdByRelationResponses[keyof GetHashesByIdByRelationResponses]; export type GetHashesByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/hashes/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashes/{id}/relationships/{relation}'; }; export type GetHashesByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetHashesByIdRelationshipsByRelationError = GetHashesByIdRelationshipsByRelationErrors[keyof GetHashesByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHashesByIdRelationshipsByRelationError = + GetHashesByIdRelationshipsByRelationErrors[keyof GetHashesByIdRelationshipsByRelationErrors]; export type GetHashesByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: HashResponse; + /** + * successful operation + */ + 200: HashResponse; }; -export type GetHashesByIdRelationshipsByRelationResponse = GetHashesByIdRelationshipsByRelationResponses[keyof GetHashesByIdRelationshipsByRelationResponses]; +export type GetHashesByIdRelationshipsByRelationResponse = + GetHashesByIdRelationshipsByRelationResponses[keyof GetHashesByIdRelationshipsByRelationResponses]; export type PatchHashesByIdRelationshipsByRelationData = { - body: HashRelationHashlist; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/hashes/{id}/relationships/{relation}'; + body: HashRelationHashlist; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashes/{id}/relationships/{relation}'; }; export type PatchHashesByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchHashesByIdRelationshipsByRelationError = PatchHashesByIdRelationshipsByRelationErrors[keyof PatchHashesByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHashesByIdRelationshipsByRelationError = + PatchHashesByIdRelationshipsByRelationErrors[keyof PatchHashesByIdRelationshipsByRelationErrors]; export type PatchHashesByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchHashesByIdRelationshipsByRelationResponse = PatchHashesByIdRelationshipsByRelationResponses[keyof PatchHashesByIdRelationshipsByRelationResponses]; +export type PatchHashesByIdRelationshipsByRelationResponse = + PatchHashesByIdRelationshipsByRelationResponses[keyof PatchHashesByIdRelationshipsByRelationResponses]; export type GetHashesByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/hashes/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/hashes/{id}'; }; export type GetHashesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetHashesByIdError = GetHashesByIdErrors[keyof GetHashesByIdErrors]; export type GetHashesByIdResponses = { - /** - * successful operation - */ - 200: HashResponse; + /** + * successful operation + */ + 200: HashResponse; }; export type GetHashesByIdResponse = GetHashesByIdResponses[keyof GetHashesByIdResponses]; export type DeleteHashlistsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/hashlists'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/hashlists'; }; export type DeleteHashlistsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteHashlistsError = DeleteHashlistsErrors[keyof DeleteHashlistsErrors]; export type DeleteHashlistsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetHashlistsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/hashlists'; -}; - -export type GetHashlistsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; /** - * Invalid request + * Pointer to paginate to retrieve the data before the value provided */ - 400: ErrorResponse; + 'page[before]'?: number; /** - * Authentication failed + * Amout of data to retrieve inside a single page */ - 401: ErrorResponse; + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/hashlists'; +}; + +export type GetHashlistsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetHashlistsError = GetHashlistsErrors[keyof GetHashlistsErrors]; export type GetHashlistsResponses = { - /** - * successful operation - */ - 200: HashlistListResponse; + /** + * successful operation + */ + 200: HashlistListResponse; }; export type GetHashlistsResponse = GetHashlistsResponses[keyof GetHashlistsResponses]; export type PatchHashlistsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/hashlists'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/hashlists'; }; - -export type PatchHashlistsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + +export type PatchHashlistsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchHashlistsError = PatchHashlistsErrors[keyof PatchHashlistsErrors]; export type PatchHashlistsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostHashlistsData = { - body: HashlistCreate; - path?: never; - query?: never; - url: '/api/v2/ui/hashlists'; + body: HashlistCreate; + path?: never; + query?: never; + url: '/api/v2/ui/hashlists'; }; export type PostHashlistsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostHashlistsError = PostHashlistsErrors[keyof PostHashlistsErrors]; export type PostHashlistsResponses = { - /** - * successful operation - */ - 201: HashlistPostPatchResponse; + /** + * successful operation + */ + 201: HashlistPostPatchResponse; }; export type PostHashlistsResponse = PostHashlistsResponses[keyof PostHashlistsResponses]; export type GetHashlistsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/hashlists/count'; -}; - -export type GetHashlistsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/hashlists/count'; +}; + +export type GetHashlistsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetHashlistsCountError = GetHashlistsCountErrors[keyof GetHashlistsCountErrors]; export type GetHashlistsCountResponses = { - /** - * successful operation - */ - 200: HashlistListResponse; + /** + * successful operation + */ + 200: HashlistListResponse; }; export type GetHashlistsCountResponse = GetHashlistsCountResponses[keyof GetHashlistsCountResponses]; export type GetHashlistsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/hashlists/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/{relation}'; }; export type GetHashlistsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetHashlistsByIdByRelationError = GetHashlistsByIdByRelationErrors[keyof GetHashlistsByIdByRelationErrors]; export type GetHashlistsByIdByRelationResponses = { - /** - * successful operation - */ - 200: HashlistRelationTasksGetResponse; + /** + * successful operation + */ + 200: HashlistRelationTasksGetResponse; }; -export type GetHashlistsByIdByRelationResponse = GetHashlistsByIdByRelationResponses[keyof GetHashlistsByIdByRelationResponses]; +export type GetHashlistsByIdByRelationResponse = + GetHashlistsByIdByRelationResponses[keyof GetHashlistsByIdByRelationResponses]; export type DeleteHashlistsByIdRelationshipsByRelationData = { - body: HashlistRelationTasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; + body: HashlistRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; }; export type DeleteHashlistsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteHashlistsByIdRelationshipsByRelationError = DeleteHashlistsByIdRelationshipsByRelationErrors[keyof DeleteHashlistsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteHashlistsByIdRelationshipsByRelationError = + DeleteHashlistsByIdRelationshipsByRelationErrors[keyof DeleteHashlistsByIdRelationshipsByRelationErrors]; export type DeleteHashlistsByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteHashlistsByIdRelationshipsByRelationResponse = DeleteHashlistsByIdRelationshipsByRelationResponses[keyof DeleteHashlistsByIdRelationshipsByRelationResponses]; +export type DeleteHashlistsByIdRelationshipsByRelationResponse = + DeleteHashlistsByIdRelationshipsByRelationResponses[keyof DeleteHashlistsByIdRelationshipsByRelationResponses]; export type GetHashlistsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; }; export type GetHashlistsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetHashlistsByIdRelationshipsByRelationError = GetHashlistsByIdRelationshipsByRelationErrors[keyof GetHashlistsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHashlistsByIdRelationshipsByRelationError = + GetHashlistsByIdRelationshipsByRelationErrors[keyof GetHashlistsByIdRelationshipsByRelationErrors]; export type GetHashlistsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: HashlistResponse; + /** + * successful operation + */ + 200: HashlistResponse; }; -export type GetHashlistsByIdRelationshipsByRelationResponse = GetHashlistsByIdRelationshipsByRelationResponses[keyof GetHashlistsByIdRelationshipsByRelationResponses]; +export type GetHashlistsByIdRelationshipsByRelationResponse = + GetHashlistsByIdRelationshipsByRelationResponses[keyof GetHashlistsByIdRelationshipsByRelationResponses]; export type PatchHashlistsByIdRelationshipsByRelationData = { - body: HashlistRelationTasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; + body: HashlistRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; }; export type PatchHashlistsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchHashlistsByIdRelationshipsByRelationError = PatchHashlistsByIdRelationshipsByRelationErrors[keyof PatchHashlistsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHashlistsByIdRelationshipsByRelationError = + PatchHashlistsByIdRelationshipsByRelationErrors[keyof PatchHashlistsByIdRelationshipsByRelationErrors]; export type PatchHashlistsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchHashlistsByIdRelationshipsByRelationResponse = PatchHashlistsByIdRelationshipsByRelationResponses[keyof PatchHashlistsByIdRelationshipsByRelationResponses]; +export type PatchHashlistsByIdRelationshipsByRelationResponse = + PatchHashlistsByIdRelationshipsByRelationResponses[keyof PatchHashlistsByIdRelationshipsByRelationResponses]; export type PostHashlistsByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}/relationships/{relation}'; }; export type PostHashlistsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostHashlistsByIdRelationshipsByRelationError = PostHashlistsByIdRelationshipsByRelationErrors[keyof PostHashlistsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostHashlistsByIdRelationshipsByRelationError = + PostHashlistsByIdRelationshipsByRelationErrors[keyof PostHashlistsByIdRelationshipsByRelationErrors]; export type PostHashlistsByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostHashlistsByIdRelationshipsByRelationResponse = PostHashlistsByIdRelationshipsByRelationResponses[keyof PostHashlistsByIdRelationshipsByRelationResponses]; +export type PostHashlistsByIdRelationshipsByRelationResponse = + PostHashlistsByIdRelationshipsByRelationResponses[keyof PostHashlistsByIdRelationshipsByRelationResponses]; export type DeleteHashlistsByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/hashlists/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}'; }; export type DeleteHashlistsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteHashlistsByIdError = DeleteHashlistsByIdErrors[keyof DeleteHashlistsByIdErrors]; export type DeleteHashlistsByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteHashlistsByIdResponse = DeleteHashlistsByIdResponses[keyof DeleteHashlistsByIdResponses]; export type GetHashlistsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/hashlists/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/hashlists/{id}'; }; export type GetHashlistsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetHashlistsByIdError = GetHashlistsByIdErrors[keyof GetHashlistsByIdErrors]; export type GetHashlistsByIdResponses = { - /** - * successful operation - */ - 200: HashlistResponse; + /** + * successful operation + */ + 200: HashlistResponse; }; export type GetHashlistsByIdResponse = GetHashlistsByIdResponses[keyof GetHashlistsByIdResponses]; export type PatchHashlistsByIdData = { - body: HashlistPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/hashlists/{id}'; + body: HashlistPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/hashlists/{id}'; }; export type PatchHashlistsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchHashlistsByIdError = PatchHashlistsByIdErrors[keyof PatchHashlistsByIdErrors]; export type PatchHashlistsByIdResponses = { - /** - * successful operation - */ - 200: HashlistPostPatchResponse; + /** + * successful operation + */ + 200: HashlistPostPatchResponse; }; export type PatchHashlistsByIdResponse = PatchHashlistsByIdResponses[keyof PatchHashlistsByIdResponses]; export type DeleteHashtypesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/hashtypes'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/hashtypes'; }; export type DeleteHashtypesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteHashtypesError = DeleteHashtypesErrors[keyof DeleteHashtypesErrors]; export type DeleteHashtypesResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetHashtypesData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/hashtypes'; -}; - -export type GetHashtypesErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/hashtypes'; +}; + +export type GetHashtypesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetHashtypesError = GetHashtypesErrors[keyof GetHashtypesErrors]; export type GetHashtypesResponses = { - /** - * successful operation - */ - 200: HashTypeListResponse; + /** + * successful operation + */ + 200: HashTypeListResponse; }; export type GetHashtypesResponse = GetHashtypesResponses[keyof GetHashtypesResponses]; export type PatchHashtypesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/hashtypes'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/hashtypes'; }; export type PatchHashtypesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchHashtypesError = PatchHashtypesErrors[keyof PatchHashtypesErrors]; export type PatchHashtypesResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostHashtypesData = { - body: HashTypeCreate; - path?: never; - query?: never; - url: '/api/v2/ui/hashtypes'; + body: HashTypeCreate; + path?: never; + query?: never; + url: '/api/v2/ui/hashtypes'; }; export type PostHashtypesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostHashtypesError = PostHashtypesErrors[keyof PostHashtypesErrors]; export type PostHashtypesResponses = { - /** - * successful operation - */ - 201: HashTypePostPatchResponse; + /** + * successful operation + */ + 201: HashTypePostPatchResponse; }; export type PostHashtypesResponse = PostHashtypesResponses[keyof PostHashtypesResponses]; export type GetHashtypesCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/hashtypes/count'; -}; - -export type GetHashtypesCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/hashtypes/count'; +}; + +export type GetHashtypesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetHashtypesCountError = GetHashtypesCountErrors[keyof GetHashtypesCountErrors]; export type GetHashtypesCountResponses = { - /** - * successful operation - */ - 200: HashTypeListResponse; + /** + * successful operation + */ + 200: HashTypeListResponse; }; export type GetHashtypesCountResponse = GetHashtypesCountResponses[keyof GetHashtypesCountResponses]; export type DeleteHashtypesByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/hashtypes/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/hashtypes/{id}'; }; export type DeleteHashtypesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteHashtypesByIdError = DeleteHashtypesByIdErrors[keyof DeleteHashtypesByIdErrors]; export type DeleteHashtypesByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteHashtypesByIdResponse = DeleteHashtypesByIdResponses[keyof DeleteHashtypesByIdResponses]; export type GetHashtypesByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/hashtypes/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/hashtypes/{id}'; }; export type GetHashtypesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetHashtypesByIdError = GetHashtypesByIdErrors[keyof GetHashtypesByIdErrors]; export type GetHashtypesByIdResponses = { - /** - * successful operation - */ - 200: HashTypeResponse; + /** + * successful operation + */ + 200: HashTypeResponse; }; export type GetHashtypesByIdResponse = GetHashtypesByIdResponses[keyof GetHashtypesByIdResponses]; export type PatchHashtypesByIdData = { - body: HashTypePatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/hashtypes/{id}'; + body: HashTypePatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/hashtypes/{id}'; }; export type PatchHashtypesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchHashtypesByIdError = PatchHashtypesByIdErrors[keyof PatchHashtypesByIdErrors]; export type PatchHashtypesByIdResponses = { - /** - * successful operation - */ - 200: HashTypePostPatchResponse; + /** + * successful operation + */ + 200: HashTypePostPatchResponse; }; export type PatchHashtypesByIdResponse = PatchHashtypesByIdResponses[keyof PatchHashtypesByIdResponses]; export type GetHealthcheckagentsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/healthcheckagents'; -}; - -export type GetHealthcheckagentsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; /** - * Invalid request + * Pointer to paginate to retrieve the data before the value provided */ - 400: ErrorResponse; + 'page[before]'?: number; /** - * Authentication failed + * Amout of data to retrieve inside a single page */ - 401: ErrorResponse; + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/healthcheckagents'; +}; + +export type GetHealthcheckagentsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetHealthcheckagentsError = GetHealthcheckagentsErrors[keyof GetHealthcheckagentsErrors]; export type GetHealthcheckagentsResponses = { - /** - * successful operation - */ - 200: HealthCheckAgentListResponse; + /** + * successful operation + */ + 200: HealthCheckAgentListResponse; }; export type GetHealthcheckagentsResponse = GetHealthcheckagentsResponses[keyof GetHealthcheckagentsResponses]; export type GetHealthcheckagentsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/healthcheckagents/count'; -}; - -export type GetHealthcheckagentsCountErrors = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; -}; - -export type GetHealthcheckagentsCountError = GetHealthcheckagentsCountErrors[keyof GetHealthcheckagentsCountErrors]; - -export type GetHealthcheckagentsCountResponses = { + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; /** - * successful operation + * Items to include, comma seperated. Possible options: Array */ - 200: HealthCheckAgentListResponse; + include?: string; + }; + url: '/api/v2/ui/healthcheckagents/count'; }; -export type GetHealthcheckagentsCountResponse = GetHealthcheckagentsCountResponses[keyof GetHealthcheckagentsCountResponses]; +export type GetHealthcheckagentsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; +}; -export type GetHealthcheckagentsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/healthcheckagents/{id}/{relation}'; +export type GetHealthcheckagentsCountError = GetHealthcheckagentsCountErrors[keyof GetHealthcheckagentsCountErrors]; + +export type GetHealthcheckagentsCountResponses = { + /** + * successful operation + */ + 200: HealthCheckAgentListResponse; }; -export type GetHealthcheckagentsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; +export type GetHealthcheckagentsCountResponse = + GetHealthcheckagentsCountResponses[keyof GetHealthcheckagentsCountResponses]; + +export type GetHealthcheckagentsByIdByRelationData = { + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthcheckagents/{id}/{relation}'; }; -export type GetHealthcheckagentsByIdByRelationError = GetHealthcheckagentsByIdByRelationErrors[keyof GetHealthcheckagentsByIdByRelationErrors]; +export type GetHealthcheckagentsByIdByRelationErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthcheckagentsByIdByRelationError = + GetHealthcheckagentsByIdByRelationErrors[keyof GetHealthcheckagentsByIdByRelationErrors]; export type GetHealthcheckagentsByIdByRelationResponses = { - /** - * successful operation - */ - 200: HealthCheckAgentRelationHealthCheckGetResponse; + /** + * successful operation + */ + 200: HealthCheckAgentRelationHealthCheckGetResponse; }; -export type GetHealthcheckagentsByIdByRelationResponse = GetHealthcheckagentsByIdByRelationResponses[keyof GetHealthcheckagentsByIdByRelationResponses]; +export type GetHealthcheckagentsByIdByRelationResponse = + GetHealthcheckagentsByIdByRelationResponses[keyof GetHealthcheckagentsByIdByRelationResponses]; export type GetHealthcheckagentsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/healthcheckagents/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthcheckagents/{id}/relationships/{relation}'; }; export type GetHealthcheckagentsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetHealthcheckagentsByIdRelationshipsByRelationError = GetHealthcheckagentsByIdRelationshipsByRelationErrors[keyof GetHealthcheckagentsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthcheckagentsByIdRelationshipsByRelationError = + GetHealthcheckagentsByIdRelationshipsByRelationErrors[keyof GetHealthcheckagentsByIdRelationshipsByRelationErrors]; export type GetHealthcheckagentsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: HealthCheckAgentResponse; + /** + * successful operation + */ + 200: HealthCheckAgentResponse; }; -export type GetHealthcheckagentsByIdRelationshipsByRelationResponse = GetHealthcheckagentsByIdRelationshipsByRelationResponses[keyof GetHealthcheckagentsByIdRelationshipsByRelationResponses]; +export type GetHealthcheckagentsByIdRelationshipsByRelationResponse = + GetHealthcheckagentsByIdRelationshipsByRelationResponses[keyof GetHealthcheckagentsByIdRelationshipsByRelationResponses]; export type PatchHealthcheckagentsByIdRelationshipsByRelationData = { - body: HealthCheckAgentRelationHealthCheck; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/healthcheckagents/{id}/relationships/{relation}'; + body: HealthCheckAgentRelationHealthCheck; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthcheckagents/{id}/relationships/{relation}'; }; export type PatchHealthcheckagentsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchHealthcheckagentsByIdRelationshipsByRelationError = PatchHealthcheckagentsByIdRelationshipsByRelationErrors[keyof PatchHealthcheckagentsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHealthcheckagentsByIdRelationshipsByRelationError = + PatchHealthcheckagentsByIdRelationshipsByRelationErrors[keyof PatchHealthcheckagentsByIdRelationshipsByRelationErrors]; export type PatchHealthcheckagentsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchHealthcheckagentsByIdRelationshipsByRelationResponse = PatchHealthcheckagentsByIdRelationshipsByRelationResponses[keyof PatchHealthcheckagentsByIdRelationshipsByRelationResponses]; +export type PatchHealthcheckagentsByIdRelationshipsByRelationResponse = + PatchHealthcheckagentsByIdRelationshipsByRelationResponses[keyof PatchHealthcheckagentsByIdRelationshipsByRelationResponses]; export type GetHealthcheckagentsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/healthcheckagents/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/healthcheckagents/{id}'; }; export type GetHealthcheckagentsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetHealthcheckagentsByIdError = GetHealthcheckagentsByIdErrors[keyof GetHealthcheckagentsByIdErrors]; export type GetHealthcheckagentsByIdResponses = { - /** - * successful operation - */ - 200: HealthCheckAgentResponse; + /** + * successful operation + */ + 200: HealthCheckAgentResponse; }; -export type GetHealthcheckagentsByIdResponse = GetHealthcheckagentsByIdResponses[keyof GetHealthcheckagentsByIdResponses]; +export type GetHealthcheckagentsByIdResponse = + GetHealthcheckagentsByIdResponses[keyof GetHealthcheckagentsByIdResponses]; export type DeleteHealthchecksData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/healthchecks'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/healthchecks'; }; export type DeleteHealthchecksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteHealthchecksError = DeleteHealthchecksErrors[keyof DeleteHealthchecksErrors]; export type DeleteHealthchecksResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetHealthchecksData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/healthchecks'; -}; - -export type GetHealthchecksErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/healthchecks'; +}; + +export type GetHealthchecksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetHealthchecksError = GetHealthchecksErrors[keyof GetHealthchecksErrors]; export type GetHealthchecksResponses = { - /** - * successful operation - */ - 200: HealthCheckListResponse; + /** + * successful operation + */ + 200: HealthCheckListResponse; }; export type GetHealthchecksResponse = GetHealthchecksResponses[keyof GetHealthchecksResponses]; export type PatchHealthchecksData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/healthchecks'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/healthchecks'; }; export type PatchHealthchecksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchHealthchecksError = PatchHealthchecksErrors[keyof PatchHealthchecksErrors]; export type PatchHealthchecksResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostHealthchecksData = { - body: HealthCheckCreate; - path?: never; - query?: never; - url: '/api/v2/ui/healthchecks'; + body: HealthCheckCreate; + path?: never; + query?: never; + url: '/api/v2/ui/healthchecks'; }; export type PostHealthchecksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostHealthchecksError = PostHealthchecksErrors[keyof PostHealthchecksErrors]; export type PostHealthchecksResponses = { - /** - * successful operation - */ - 201: HealthCheckPostPatchResponse; + /** + * successful operation + */ + 201: HealthCheckPostPatchResponse; }; export type PostHealthchecksResponse = PostHealthchecksResponses[keyof PostHealthchecksResponses]; export type GetHealthchecksCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/healthchecks/count'; -}; - -export type GetHealthchecksCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/healthchecks/count'; +}; + +export type GetHealthchecksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetHealthchecksCountError = GetHealthchecksCountErrors[keyof GetHealthchecksCountErrors]; export type GetHealthchecksCountResponses = { - /** - * successful operation - */ - 200: HealthCheckListResponse; + /** + * successful operation + */ + 200: HealthCheckListResponse; }; export type GetHealthchecksCountResponse = GetHealthchecksCountResponses[keyof GetHealthchecksCountResponses]; export type GetHealthchecksByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/healthchecks/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/{relation}'; }; export type GetHealthchecksByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetHealthchecksByIdByRelationError = GetHealthchecksByIdByRelationErrors[keyof GetHealthchecksByIdByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthchecksByIdByRelationError = + GetHealthchecksByIdByRelationErrors[keyof GetHealthchecksByIdByRelationErrors]; export type GetHealthchecksByIdByRelationResponses = { - /** - * successful operation - */ - 200: HealthCheckRelationHealthCheckAgentsGetResponse; + /** + * successful operation + */ + 200: HealthCheckRelationHealthCheckAgentsGetResponse; }; -export type GetHealthchecksByIdByRelationResponse = GetHealthchecksByIdByRelationResponses[keyof GetHealthchecksByIdByRelationResponses]; +export type GetHealthchecksByIdByRelationResponse = + GetHealthchecksByIdByRelationResponses[keyof GetHealthchecksByIdByRelationResponses]; export type DeleteHealthchecksByIdRelationshipsByRelationData = { - body: HealthCheckRelationHealthCheckAgents; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; + body: HealthCheckRelationHealthCheckAgents; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; }; export type DeleteHealthchecksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteHealthchecksByIdRelationshipsByRelationError = DeleteHealthchecksByIdRelationshipsByRelationErrors[keyof DeleteHealthchecksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteHealthchecksByIdRelationshipsByRelationError = + DeleteHealthchecksByIdRelationshipsByRelationErrors[keyof DeleteHealthchecksByIdRelationshipsByRelationErrors]; export type DeleteHealthchecksByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteHealthchecksByIdRelationshipsByRelationResponse = DeleteHealthchecksByIdRelationshipsByRelationResponses[keyof DeleteHealthchecksByIdRelationshipsByRelationResponses]; +export type DeleteHealthchecksByIdRelationshipsByRelationResponse = + DeleteHealthchecksByIdRelationshipsByRelationResponses[keyof DeleteHealthchecksByIdRelationshipsByRelationResponses]; export type GetHealthchecksByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; }; export type GetHealthchecksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetHealthchecksByIdRelationshipsByRelationError = GetHealthchecksByIdRelationshipsByRelationErrors[keyof GetHealthchecksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetHealthchecksByIdRelationshipsByRelationError = + GetHealthchecksByIdRelationshipsByRelationErrors[keyof GetHealthchecksByIdRelationshipsByRelationErrors]; export type GetHealthchecksByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: HealthCheckResponse; + /** + * successful operation + */ + 200: HealthCheckResponse; }; -export type GetHealthchecksByIdRelationshipsByRelationResponse = GetHealthchecksByIdRelationshipsByRelationResponses[keyof GetHealthchecksByIdRelationshipsByRelationResponses]; +export type GetHealthchecksByIdRelationshipsByRelationResponse = + GetHealthchecksByIdRelationshipsByRelationResponses[keyof GetHealthchecksByIdRelationshipsByRelationResponses]; export type PatchHealthchecksByIdRelationshipsByRelationData = { - body: HealthCheckRelationHealthCheckAgents; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; + body: HealthCheckRelationHealthCheckAgents; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; }; export type PatchHealthchecksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchHealthchecksByIdRelationshipsByRelationError = PatchHealthchecksByIdRelationshipsByRelationErrors[keyof PatchHealthchecksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchHealthchecksByIdRelationshipsByRelationError = + PatchHealthchecksByIdRelationshipsByRelationErrors[keyof PatchHealthchecksByIdRelationshipsByRelationErrors]; export type PatchHealthchecksByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchHealthchecksByIdRelationshipsByRelationResponse = PatchHealthchecksByIdRelationshipsByRelationResponses[keyof PatchHealthchecksByIdRelationshipsByRelationResponses]; +export type PatchHealthchecksByIdRelationshipsByRelationResponse = + PatchHealthchecksByIdRelationshipsByRelationResponses[keyof PatchHealthchecksByIdRelationshipsByRelationResponses]; export type PostHealthchecksByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}/relationships/{relation}'; }; export type PostHealthchecksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostHealthchecksByIdRelationshipsByRelationError = PostHealthchecksByIdRelationshipsByRelationErrors[keyof PostHealthchecksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostHealthchecksByIdRelationshipsByRelationError = + PostHealthchecksByIdRelationshipsByRelationErrors[keyof PostHealthchecksByIdRelationshipsByRelationErrors]; export type PostHealthchecksByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostHealthchecksByIdRelationshipsByRelationResponse = PostHealthchecksByIdRelationshipsByRelationResponses[keyof PostHealthchecksByIdRelationshipsByRelationResponses]; +export type PostHealthchecksByIdRelationshipsByRelationResponse = + PostHealthchecksByIdRelationshipsByRelationResponses[keyof PostHealthchecksByIdRelationshipsByRelationResponses]; export type DeleteHealthchecksByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/healthchecks/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}'; }; export type DeleteHealthchecksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteHealthchecksByIdError = DeleteHealthchecksByIdErrors[keyof DeleteHealthchecksByIdErrors]; export type DeleteHealthchecksByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteHealthchecksByIdResponse = DeleteHealthchecksByIdResponses[keyof DeleteHealthchecksByIdResponses]; export type GetHealthchecksByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/healthchecks/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/healthchecks/{id}'; }; export type GetHealthchecksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetHealthchecksByIdError = GetHealthchecksByIdErrors[keyof GetHealthchecksByIdErrors]; export type GetHealthchecksByIdResponses = { - /** - * successful operation - */ - 200: HealthCheckResponse; + /** + * successful operation + */ + 200: HealthCheckResponse; }; export type GetHealthchecksByIdResponse = GetHealthchecksByIdResponses[keyof GetHealthchecksByIdResponses]; export type PatchHealthchecksByIdData = { - body: HealthCheckPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/healthchecks/{id}'; + body: HealthCheckPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/healthchecks/{id}'; }; export type PatchHealthchecksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchHealthchecksByIdError = PatchHealthchecksByIdErrors[keyof PatchHealthchecksByIdErrors]; export type PatchHealthchecksByIdResponses = { - /** - * successful operation - */ - 200: HealthCheckPostPatchResponse; + /** + * successful operation + */ + 200: HealthCheckPostPatchResponse; }; export type PatchHealthchecksByIdResponse = PatchHealthchecksByIdResponses[keyof PatchHealthchecksByIdResponses]; export type DeleteLogentriesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/logentries'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/logentries'; }; export type DeleteLogentriesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteLogentriesError = DeleteLogentriesErrors[keyof DeleteLogentriesErrors]; export type DeleteLogentriesResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetLogentriesData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/logentries'; -}; - -export type GetLogentriesErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/logentries'; +}; + +export type GetLogentriesErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetLogentriesError = GetLogentriesErrors[keyof GetLogentriesErrors]; export type GetLogentriesResponses = { - /** - * successful operation - */ - 200: LogEntryListResponse; + /** + * successful operation + */ + 200: LogEntryListResponse; }; export type GetLogentriesResponse = GetLogentriesResponses[keyof GetLogentriesResponses]; export type PatchLogentriesData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/logentries'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/logentries'; }; export type PatchLogentriesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchLogentriesError = PatchLogentriesErrors[keyof PatchLogentriesErrors]; export type PatchLogentriesResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostLogentriesData = { - body: LogEntryCreate; - path?: never; - query?: never; - url: '/api/v2/ui/logentries'; + body: LogEntryCreate; + path?: never; + query?: never; + url: '/api/v2/ui/logentries'; }; export type PostLogentriesErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostLogentriesError = PostLogentriesErrors[keyof PostLogentriesErrors]; export type PostLogentriesResponses = { - /** - * successful operation - */ - 201: LogEntryPostPatchResponse; + /** + * successful operation + */ + 201: LogEntryPostPatchResponse; }; export type PostLogentriesResponse = PostLogentriesResponses[keyof PostLogentriesResponses]; export type GetLogentriesCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/logentries/count'; -}; - -export type GetLogentriesCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/logentries/count'; +}; + +export type GetLogentriesCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetLogentriesCountError = GetLogentriesCountErrors[keyof GetLogentriesCountErrors]; export type GetLogentriesCountResponses = { - /** - * successful operation - */ - 200: LogEntryListResponse; + /** + * successful operation + */ + 200: LogEntryListResponse; }; export type GetLogentriesCountResponse = GetLogentriesCountResponses[keyof GetLogentriesCountResponses]; -export type DeleteLogentriesByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/logentries/{id}'; -}; - -export type DeleteLogentriesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; +export type DeleteLogentriesByIdData = { + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/logentries/{id}'; +}; + +export type DeleteLogentriesByIdErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteLogentriesByIdError = DeleteLogentriesByIdErrors[keyof DeleteLogentriesByIdErrors]; export type DeleteLogentriesByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteLogentriesByIdResponse = DeleteLogentriesByIdResponses[keyof DeleteLogentriesByIdResponses]; export type GetLogentriesByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/logentries/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/logentries/{id}'; }; export type GetLogentriesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetLogentriesByIdError = GetLogentriesByIdErrors[keyof GetLogentriesByIdErrors]; export type GetLogentriesByIdResponses = { - /** - * successful operation - */ - 200: LogEntryResponse; + /** + * successful operation + */ + 200: LogEntryResponse; }; export type GetLogentriesByIdResponse = GetLogentriesByIdResponses[keyof GetLogentriesByIdResponses]; export type PatchLogentriesByIdData = { - body: LogEntryPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/logentries/{id}'; + body: LogEntryPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/logentries/{id}'; }; export type PatchLogentriesByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchLogentriesByIdError = PatchLogentriesByIdErrors[keyof PatchLogentriesByIdErrors]; export type PatchLogentriesByIdResponses = { - /** - * successful operation - */ - 200: LogEntryPostPatchResponse; + /** + * successful operation + */ + 200: LogEntryPostPatchResponse; }; export type PatchLogentriesByIdResponse = PatchLogentriesByIdResponses[keyof PatchLogentriesByIdResponses]; export type DeleteNotificationsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/notifications'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/notifications'; }; export type DeleteNotificationsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteNotificationsError = DeleteNotificationsErrors[keyof DeleteNotificationsErrors]; export type DeleteNotificationsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetNotificationsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/notifications'; -}; - -export type GetNotificationsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/notifications'; +}; + +export type GetNotificationsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetNotificationsError = GetNotificationsErrors[keyof GetNotificationsErrors]; export type GetNotificationsResponses = { - /** - * successful operation - */ - 200: NotificationSettingListResponse; + /** + * successful operation + */ + 200: NotificationSettingListResponse; }; export type GetNotificationsResponse = GetNotificationsResponses[keyof GetNotificationsResponses]; export type PatchNotificationsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/notifications'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/notifications'; }; export type PatchNotificationsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchNotificationsError = PatchNotificationsErrors[keyof PatchNotificationsErrors]; export type PatchNotificationsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostNotificationsData = { - body: NotificationSettingCreate; - path?: never; - query?: never; - url: '/api/v2/ui/notifications'; + body: NotificationSettingCreate; + path?: never; + query?: never; + url: '/api/v2/ui/notifications'; }; export type PostNotificationsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostNotificationsError = PostNotificationsErrors[keyof PostNotificationsErrors]; export type PostNotificationsResponses = { - /** - * successful operation - */ - 201: NotificationSettingPostPatchResponse; + /** + * successful operation + */ + 201: NotificationSettingPostPatchResponse; }; export type PostNotificationsResponse = PostNotificationsResponses[keyof PostNotificationsResponses]; export type GetNotificationsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/notifications/count'; -}; - -export type GetNotificationsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; /** - * Invalid request + * Pointer to paginate to retrieve the data before the value provided */ - 400: ErrorResponse; + 'page[before]'?: number; /** - * Authentication failed + * Amout of data to retrieve inside a single page */ - 401: ErrorResponse; + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/notifications/count'; +}; + +export type GetNotificationsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetNotificationsCountError = GetNotificationsCountErrors[keyof GetNotificationsCountErrors]; export type GetNotificationsCountResponses = { - /** - * successful operation - */ - 200: NotificationSettingListResponse; + /** + * successful operation + */ + 200: NotificationSettingListResponse; }; export type GetNotificationsCountResponse = GetNotificationsCountResponses[keyof GetNotificationsCountResponses]; export type GetNotificationsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/notifications/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}/{relation}'; }; export type GetNotificationsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetNotificationsByIdByRelationError = GetNotificationsByIdByRelationErrors[keyof GetNotificationsByIdByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetNotificationsByIdByRelationError = + GetNotificationsByIdByRelationErrors[keyof GetNotificationsByIdByRelationErrors]; export type GetNotificationsByIdByRelationResponses = { - /** - * successful operation - */ - 200: NotificationSettingRelationUserGetResponse; + /** + * successful operation + */ + 200: NotificationSettingRelationUserGetResponse; }; -export type GetNotificationsByIdByRelationResponse = GetNotificationsByIdByRelationResponses[keyof GetNotificationsByIdByRelationResponses]; +export type GetNotificationsByIdByRelationResponse = + GetNotificationsByIdByRelationResponses[keyof GetNotificationsByIdByRelationResponses]; export type GetNotificationsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/notifications/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}/relationships/{relation}'; }; export type GetNotificationsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetNotificationsByIdRelationshipsByRelationError = GetNotificationsByIdRelationshipsByRelationErrors[keyof GetNotificationsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetNotificationsByIdRelationshipsByRelationError = + GetNotificationsByIdRelationshipsByRelationErrors[keyof GetNotificationsByIdRelationshipsByRelationErrors]; export type GetNotificationsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: NotificationSettingResponse; + /** + * successful operation + */ + 200: NotificationSettingResponse; }; -export type GetNotificationsByIdRelationshipsByRelationResponse = GetNotificationsByIdRelationshipsByRelationResponses[keyof GetNotificationsByIdRelationshipsByRelationResponses]; +export type GetNotificationsByIdRelationshipsByRelationResponse = + GetNotificationsByIdRelationshipsByRelationResponses[keyof GetNotificationsByIdRelationshipsByRelationResponses]; export type PatchNotificationsByIdRelationshipsByRelationData = { - body: NotificationSettingRelationUser; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/notifications/{id}/relationships/{relation}'; + body: NotificationSettingRelationUser; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}/relationships/{relation}'; }; export type PatchNotificationsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchNotificationsByIdRelationshipsByRelationError = PatchNotificationsByIdRelationshipsByRelationErrors[keyof PatchNotificationsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchNotificationsByIdRelationshipsByRelationError = + PatchNotificationsByIdRelationshipsByRelationErrors[keyof PatchNotificationsByIdRelationshipsByRelationErrors]; export type PatchNotificationsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchNotificationsByIdRelationshipsByRelationResponse = PatchNotificationsByIdRelationshipsByRelationResponses[keyof PatchNotificationsByIdRelationshipsByRelationResponses]; +export type PatchNotificationsByIdRelationshipsByRelationResponse = + PatchNotificationsByIdRelationshipsByRelationResponses[keyof PatchNotificationsByIdRelationshipsByRelationResponses]; export type DeleteNotificationsByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/notifications/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}'; }; export type DeleteNotificationsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteNotificationsByIdError = DeleteNotificationsByIdErrors[keyof DeleteNotificationsByIdErrors]; export type DeleteNotificationsByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteNotificationsByIdResponse = DeleteNotificationsByIdResponses[keyof DeleteNotificationsByIdResponses]; export type GetNotificationsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/notifications/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/notifications/{id}'; }; export type GetNotificationsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetNotificationsByIdError = GetNotificationsByIdErrors[keyof GetNotificationsByIdErrors]; export type GetNotificationsByIdResponses = { - /** - * successful operation - */ - 200: NotificationSettingResponse; + /** + * successful operation + */ + 200: NotificationSettingResponse; }; export type GetNotificationsByIdResponse = GetNotificationsByIdResponses[keyof GetNotificationsByIdResponses]; export type PatchNotificationsByIdData = { - body: NotificationSettingPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/notifications/{id}'; + body: NotificationSettingPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/notifications/{id}'; }; export type PatchNotificationsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchNotificationsByIdError = PatchNotificationsByIdErrors[keyof PatchNotificationsByIdErrors]; export type PatchNotificationsByIdResponses = { - /** - * successful operation - */ - 200: NotificationSettingPostPatchResponse; + /** + * successful operation + */ + 200: NotificationSettingPostPatchResponse; }; export type PatchNotificationsByIdResponse = PatchNotificationsByIdResponses[keyof PatchNotificationsByIdResponses]; export type DeletePreprocessorsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/preprocessors'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/preprocessors'; }; export type DeletePreprocessorsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeletePreprocessorsError = DeletePreprocessorsErrors[keyof DeletePreprocessorsErrors]; export type DeletePreprocessorsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetPreprocessorsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/preprocessors'; -}; - -export type GetPreprocessorsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; /** - * Invalid request + * Amout of data to retrieve inside a single page */ - 400: ErrorResponse; + 'page[size]'?: number; /** - * Authentication failed + * Filters results using a query */ - 401: ErrorResponse; + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/preprocessors'; +}; + +export type GetPreprocessorsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetPreprocessorsError = GetPreprocessorsErrors[keyof GetPreprocessorsErrors]; export type GetPreprocessorsResponses = { - /** - * successful operation - */ - 200: PreprocessorListResponse; + /** + * successful operation + */ + 200: PreprocessorListResponse; }; export type GetPreprocessorsResponse = GetPreprocessorsResponses[keyof GetPreprocessorsResponses]; export type PatchPreprocessorsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/preprocessors'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/preprocessors'; }; export type PatchPreprocessorsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchPreprocessorsError = PatchPreprocessorsErrors[keyof PatchPreprocessorsErrors]; export type PatchPreprocessorsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostPreprocessorsData = { - body: PreprocessorCreate; - path?: never; - query?: never; - url: '/api/v2/ui/preprocessors'; + body: PreprocessorCreate; + path?: never; + query?: never; + url: '/api/v2/ui/preprocessors'; }; export type PostPreprocessorsErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostPreprocessorsError = PostPreprocessorsErrors[keyof PostPreprocessorsErrors]; export type PostPreprocessorsResponses = { - /** - * successful operation - */ - 201: PreprocessorPostPatchResponse; + /** + * successful operation + */ + 201: PreprocessorPostPatchResponse; }; export type PostPreprocessorsResponse = PostPreprocessorsResponses[keyof PostPreprocessorsResponses]; export type GetPreprocessorsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/preprocessors/count'; -}; - -export type GetPreprocessorsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/preprocessors/count'; +}; + +export type GetPreprocessorsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetPreprocessorsCountError = GetPreprocessorsCountErrors[keyof GetPreprocessorsCountErrors]; export type GetPreprocessorsCountResponses = { - /** - * successful operation - */ - 200: PreprocessorListResponse; + /** + * successful operation + */ + 200: PreprocessorListResponse; }; export type GetPreprocessorsCountResponse = GetPreprocessorsCountResponses[keyof GetPreprocessorsCountResponses]; export type DeletePreprocessorsByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/preprocessors/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/preprocessors/{id}'; }; export type DeletePreprocessorsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeletePreprocessorsByIdError = DeletePreprocessorsByIdErrors[keyof DeletePreprocessorsByIdErrors]; export type DeletePreprocessorsByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeletePreprocessorsByIdResponse = DeletePreprocessorsByIdResponses[keyof DeletePreprocessorsByIdResponses]; export type GetPreprocessorsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/preprocessors/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/preprocessors/{id}'; }; export type GetPreprocessorsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetPreprocessorsByIdError = GetPreprocessorsByIdErrors[keyof GetPreprocessorsByIdErrors]; export type GetPreprocessorsByIdResponses = { - /** - * successful operation - */ - 200: PreprocessorResponse; + /** + * successful operation + */ + 200: PreprocessorResponse; }; export type GetPreprocessorsByIdResponse = GetPreprocessorsByIdResponses[keyof GetPreprocessorsByIdResponses]; export type PatchPreprocessorsByIdData = { - body: PreprocessorPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/preprocessors/{id}'; + body: PreprocessorPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/preprocessors/{id}'; }; export type PatchPreprocessorsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchPreprocessorsByIdError = PatchPreprocessorsByIdErrors[keyof PatchPreprocessorsByIdErrors]; export type PatchPreprocessorsByIdResponses = { - /** - * successful operation - */ - 200: PreprocessorPostPatchResponse; + /** + * successful operation + */ + 200: PreprocessorPostPatchResponse; }; export type PatchPreprocessorsByIdResponse = PatchPreprocessorsByIdResponses[keyof PatchPreprocessorsByIdResponses]; export type DeletePretasksData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/pretasks'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/pretasks'; }; export type DeletePretasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeletePretasksError = DeletePretasksErrors[keyof DeletePretasksErrors]; export type DeletePretasksResponses = { + /** + * successful operation + */ + 200: unknown; +}; + +export type GetPretasksData = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; /** - * successful operation + * Items to include, comma seperated. Possible options: Array */ - 200: unknown; -}; - -export type GetPretasksData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/pretasks'; + include?: string; + }; + url: '/api/v2/ui/pretasks'; }; export type GetPretasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetPretasksError = GetPretasksErrors[keyof GetPretasksErrors]; export type GetPretasksResponses = { - /** - * successful operation - */ - 200: PreTaskListResponse; + /** + * successful operation + */ + 200: PreTaskListResponse; }; export type GetPretasksResponse = GetPretasksResponses[keyof GetPretasksResponses]; export type PatchPretasksData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/pretasks'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/pretasks'; }; export type PatchPretasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchPretasksError = PatchPretasksErrors[keyof PatchPretasksErrors]; export type PatchPretasksResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostPretasksData = { - body: PreTaskCreate; - path?: never; - query?: never; - url: '/api/v2/ui/pretasks'; + body: PreTaskCreate; + path?: never; + query?: never; + url: '/api/v2/ui/pretasks'; }; export type PostPretasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostPretasksError = PostPretasksErrors[keyof PostPretasksErrors]; export type PostPretasksResponses = { - /** - * successful operation - */ - 201: PreTaskPostPatchResponse; + /** + * successful operation + */ + 201: PreTaskPostPatchResponse; }; export type PostPretasksResponse = PostPretasksResponses[keyof PostPretasksResponses]; export type GetPretasksCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/pretasks/count'; -}; - -export type GetPretasksCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; /** - * Invalid request + * Amout of data to retrieve inside a single page */ - 400: ErrorResponse; + 'page[size]'?: number; /** - * Authentication failed + * Filters results using a query */ - 401: ErrorResponse; + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/pretasks/count'; +}; + +export type GetPretasksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetPretasksCountError = GetPretasksCountErrors[keyof GetPretasksCountErrors]; export type GetPretasksCountResponses = { - /** - * successful operation - */ - 200: PreTaskListResponse; + /** + * successful operation + */ + 200: PreTaskListResponse; }; export type GetPretasksCountResponse = GetPretasksCountResponses[keyof GetPretasksCountResponses]; export type GetPretasksByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/pretasks/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/{relation}'; }; export type GetPretasksByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetPretasksByIdByRelationError = GetPretasksByIdByRelationErrors[keyof GetPretasksByIdByRelationErrors]; export type GetPretasksByIdByRelationResponses = { - /** - * successful operation - */ - 200: PreTaskRelationPretaskFilesGetResponse; + /** + * successful operation + */ + 200: PreTaskRelationPretaskFilesGetResponse; }; -export type GetPretasksByIdByRelationResponse = GetPretasksByIdByRelationResponses[keyof GetPretasksByIdByRelationResponses]; +export type GetPretasksByIdByRelationResponse = + GetPretasksByIdByRelationResponses[keyof GetPretasksByIdByRelationResponses]; export type DeletePretasksByIdRelationshipsByRelationData = { - body: PreTaskRelationPretaskFiles; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; + body: PreTaskRelationPretaskFiles; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; }; export type DeletePretasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeletePretasksByIdRelationshipsByRelationError = DeletePretasksByIdRelationshipsByRelationErrors[keyof DeletePretasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeletePretasksByIdRelationshipsByRelationError = + DeletePretasksByIdRelationshipsByRelationErrors[keyof DeletePretasksByIdRelationshipsByRelationErrors]; export type DeletePretasksByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeletePretasksByIdRelationshipsByRelationResponse = DeletePretasksByIdRelationshipsByRelationResponses[keyof DeletePretasksByIdRelationshipsByRelationResponses]; +export type DeletePretasksByIdRelationshipsByRelationResponse = + DeletePretasksByIdRelationshipsByRelationResponses[keyof DeletePretasksByIdRelationshipsByRelationResponses]; export type GetPretasksByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; }; export type GetPretasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetPretasksByIdRelationshipsByRelationError = GetPretasksByIdRelationshipsByRelationErrors[keyof GetPretasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetPretasksByIdRelationshipsByRelationError = + GetPretasksByIdRelationshipsByRelationErrors[keyof GetPretasksByIdRelationshipsByRelationErrors]; export type GetPretasksByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: PreTaskResponse; + /** + * successful operation + */ + 200: PreTaskResponse; }; -export type GetPretasksByIdRelationshipsByRelationResponse = GetPretasksByIdRelationshipsByRelationResponses[keyof GetPretasksByIdRelationshipsByRelationResponses]; +export type GetPretasksByIdRelationshipsByRelationResponse = + GetPretasksByIdRelationshipsByRelationResponses[keyof GetPretasksByIdRelationshipsByRelationResponses]; export type PatchPretasksByIdRelationshipsByRelationData = { - body: PreTaskRelationPretaskFiles; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; + body: PreTaskRelationPretaskFiles; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; }; export type PatchPretasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchPretasksByIdRelationshipsByRelationError = PatchPretasksByIdRelationshipsByRelationErrors[keyof PatchPretasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchPretasksByIdRelationshipsByRelationError = + PatchPretasksByIdRelationshipsByRelationErrors[keyof PatchPretasksByIdRelationshipsByRelationErrors]; export type PatchPretasksByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchPretasksByIdRelationshipsByRelationResponse = PatchPretasksByIdRelationshipsByRelationResponses[keyof PatchPretasksByIdRelationshipsByRelationResponses]; +export type PatchPretasksByIdRelationshipsByRelationResponse = + PatchPretasksByIdRelationshipsByRelationResponses[keyof PatchPretasksByIdRelationshipsByRelationResponses]; export type PostPretasksByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}/relationships/{relation}'; }; export type PostPretasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostPretasksByIdRelationshipsByRelationError = PostPretasksByIdRelationshipsByRelationErrors[keyof PostPretasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostPretasksByIdRelationshipsByRelationError = + PostPretasksByIdRelationshipsByRelationErrors[keyof PostPretasksByIdRelationshipsByRelationErrors]; export type PostPretasksByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostPretasksByIdRelationshipsByRelationResponse = PostPretasksByIdRelationshipsByRelationResponses[keyof PostPretasksByIdRelationshipsByRelationResponses]; +export type PostPretasksByIdRelationshipsByRelationResponse = + PostPretasksByIdRelationshipsByRelationResponses[keyof PostPretasksByIdRelationshipsByRelationResponses]; export type DeletePretasksByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/pretasks/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}'; }; export type DeletePretasksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeletePretasksByIdError = DeletePretasksByIdErrors[keyof DeletePretasksByIdErrors]; export type DeletePretasksByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeletePretasksByIdResponse = DeletePretasksByIdResponses[keyof DeletePretasksByIdResponses]; export type GetPretasksByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/pretasks/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/pretasks/{id}'; }; export type GetPretasksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetPretasksByIdError = GetPretasksByIdErrors[keyof GetPretasksByIdErrors]; export type GetPretasksByIdResponses = { - /** - * successful operation - */ - 200: PreTaskResponse; + /** + * successful operation + */ + 200: PreTaskResponse; }; export type GetPretasksByIdResponse = GetPretasksByIdResponses[keyof GetPretasksByIdResponses]; export type PatchPretasksByIdData = { - body: PreTaskPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/pretasks/{id}'; + body: PreTaskPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/pretasks/{id}'; }; export type PatchPretasksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchPretasksByIdError = PatchPretasksByIdErrors[keyof PatchPretasksByIdErrors]; export type PatchPretasksByIdResponses = { - /** - * successful operation - */ - 200: PreTaskPostPatchResponse; + /** + * successful operation + */ + 200: PreTaskPostPatchResponse; }; export type PatchPretasksByIdResponse = PatchPretasksByIdResponses[keyof PatchPretasksByIdResponses]; export type GetSpeedsData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/speeds'; -}; - -export type GetSpeedsErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; /** - * Invalid request + * Amout of data to retrieve inside a single page */ - 400: ErrorResponse; + 'page[size]'?: number; /** - * Authentication failed + * Filters results using a query */ - 401: ErrorResponse; + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/speeds'; +}; + +export type GetSpeedsErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetSpeedsError = GetSpeedsErrors[keyof GetSpeedsErrors]; export type GetSpeedsResponses = { - /** - * successful operation - */ - 200: SpeedListResponse; + /** + * successful operation + */ + 200: SpeedListResponse; }; export type GetSpeedsResponse = GetSpeedsResponses[keyof GetSpeedsResponses]; export type GetSpeedsCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/speeds/count'; -}; - -export type GetSpeedsCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/speeds/count'; +}; + +export type GetSpeedsCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetSpeedsCountError = GetSpeedsCountErrors[keyof GetSpeedsCountErrors]; export type GetSpeedsCountResponses = { - /** - * successful operation - */ - 200: SpeedListResponse; + /** + * successful operation + */ + 200: SpeedListResponse; }; export type GetSpeedsCountResponse = GetSpeedsCountResponses[keyof GetSpeedsCountResponses]; export type GetSpeedsByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/speeds/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/speeds/{id}/{relation}'; }; export type GetSpeedsByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetSpeedsByIdByRelationError = GetSpeedsByIdByRelationErrors[keyof GetSpeedsByIdByRelationErrors]; export type GetSpeedsByIdByRelationResponses = { - /** - * successful operation - */ - 200: SpeedRelationTaskGetResponse; + /** + * successful operation + */ + 200: SpeedRelationTaskGetResponse; }; export type GetSpeedsByIdByRelationResponse = GetSpeedsByIdByRelationResponses[keyof GetSpeedsByIdByRelationResponses]; export type GetSpeedsByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/speeds/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/speeds/{id}/relationships/{relation}'; }; export type GetSpeedsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetSpeedsByIdRelationshipsByRelationError = GetSpeedsByIdRelationshipsByRelationErrors[keyof GetSpeedsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetSpeedsByIdRelationshipsByRelationError = + GetSpeedsByIdRelationshipsByRelationErrors[keyof GetSpeedsByIdRelationshipsByRelationErrors]; export type GetSpeedsByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: SpeedResponse; + /** + * successful operation + */ + 200: SpeedResponse; }; -export type GetSpeedsByIdRelationshipsByRelationResponse = GetSpeedsByIdRelationshipsByRelationResponses[keyof GetSpeedsByIdRelationshipsByRelationResponses]; +export type GetSpeedsByIdRelationshipsByRelationResponse = + GetSpeedsByIdRelationshipsByRelationResponses[keyof GetSpeedsByIdRelationshipsByRelationResponses]; export type PatchSpeedsByIdRelationshipsByRelationData = { - body: SpeedRelationTask; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/speeds/{id}/relationships/{relation}'; + body: SpeedRelationTask; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/speeds/{id}/relationships/{relation}'; }; export type PatchSpeedsByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchSpeedsByIdRelationshipsByRelationError = PatchSpeedsByIdRelationshipsByRelationErrors[keyof PatchSpeedsByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchSpeedsByIdRelationshipsByRelationError = + PatchSpeedsByIdRelationshipsByRelationErrors[keyof PatchSpeedsByIdRelationshipsByRelationErrors]; export type PatchSpeedsByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchSpeedsByIdRelationshipsByRelationResponse = PatchSpeedsByIdRelationshipsByRelationResponses[keyof PatchSpeedsByIdRelationshipsByRelationResponses]; +export type PatchSpeedsByIdRelationshipsByRelationResponse = + PatchSpeedsByIdRelationshipsByRelationResponses[keyof PatchSpeedsByIdRelationshipsByRelationResponses]; export type GetSpeedsByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/speeds/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/speeds/{id}'; }; export type GetSpeedsByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetSpeedsByIdError = GetSpeedsByIdErrors[keyof GetSpeedsByIdErrors]; export type GetSpeedsByIdResponses = { - /** - * successful operation - */ - 200: SpeedResponse; + /** + * successful operation + */ + 200: SpeedResponse; }; export type GetSpeedsByIdResponse = GetSpeedsByIdResponses[keyof GetSpeedsByIdResponses]; export type DeleteSupertasksData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/supertasks'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/supertasks'; }; export type DeleteSupertasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteSupertasksError = DeleteSupertasksErrors[keyof DeleteSupertasksErrors]; export type DeleteSupertasksResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetSupertasksData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/supertasks'; -}; - -export type GetSupertasksErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/supertasks'; +}; + +export type GetSupertasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetSupertasksError = GetSupertasksErrors[keyof GetSupertasksErrors]; export type GetSupertasksResponses = { - /** - * successful operation - */ - 200: SupertaskListResponse; + /** + * successful operation + */ + 200: SupertaskListResponse; }; export type GetSupertasksResponse = GetSupertasksResponses[keyof GetSupertasksResponses]; export type PatchSupertasksData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/supertasks'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/supertasks'; }; export type PatchSupertasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchSupertasksError = PatchSupertasksErrors[keyof PatchSupertasksErrors]; export type PatchSupertasksResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostSupertasksData = { - body: SupertaskCreate; - path?: never; - query?: never; - url: '/api/v2/ui/supertasks'; + body: SupertaskCreate; + path?: never; + query?: never; + url: '/api/v2/ui/supertasks'; }; export type PostSupertasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostSupertasksError = PostSupertasksErrors[keyof PostSupertasksErrors]; export type PostSupertasksResponses = { - /** - * successful operation - */ - 201: SupertaskPostPatchResponse; + /** + * successful operation + */ + 201: SupertaskPostPatchResponse; }; export type PostSupertasksResponse = PostSupertasksResponses[keyof PostSupertasksResponses]; export type GetSupertasksCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/supertasks/count'; -}; - -export type GetSupertasksCountErrors = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/supertasks/count'; +}; + +export type GetSupertasksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetSupertasksCountError = GetSupertasksCountErrors[keyof GetSupertasksCountErrors]; export type GetSupertasksCountResponses = { - /** - * successful operation - */ - 200: SupertaskListResponse; + /** + * successful operation + */ + 200: SupertaskListResponse; }; export type GetSupertasksCountResponse = GetSupertasksCountResponses[keyof GetSupertasksCountResponses]; export type GetSupertasksByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/supertasks/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/{relation}'; }; export type GetSupertasksByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetSupertasksByIdByRelationError = GetSupertasksByIdByRelationErrors[keyof GetSupertasksByIdByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetSupertasksByIdByRelationError = + GetSupertasksByIdByRelationErrors[keyof GetSupertasksByIdByRelationErrors]; export type GetSupertasksByIdByRelationResponses = { - /** - * successful operation - */ - 200: SupertaskRelationPretasksGetResponse; + /** + * successful operation + */ + 200: SupertaskRelationPretasksGetResponse; }; -export type GetSupertasksByIdByRelationResponse = GetSupertasksByIdByRelationResponses[keyof GetSupertasksByIdByRelationResponses]; +export type GetSupertasksByIdByRelationResponse = + GetSupertasksByIdByRelationResponses[keyof GetSupertasksByIdByRelationResponses]; export type DeleteSupertasksByIdRelationshipsByRelationData = { - body: SupertaskRelationPretasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; + body: SupertaskRelationPretasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; }; export type DeleteSupertasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteSupertasksByIdRelationshipsByRelationError = DeleteSupertasksByIdRelationshipsByRelationErrors[keyof DeleteSupertasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteSupertasksByIdRelationshipsByRelationError = + DeleteSupertasksByIdRelationshipsByRelationErrors[keyof DeleteSupertasksByIdRelationshipsByRelationErrors]; export type DeleteSupertasksByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteSupertasksByIdRelationshipsByRelationResponse = DeleteSupertasksByIdRelationshipsByRelationResponses[keyof DeleteSupertasksByIdRelationshipsByRelationResponses]; +export type DeleteSupertasksByIdRelationshipsByRelationResponse = + DeleteSupertasksByIdRelationshipsByRelationResponses[keyof DeleteSupertasksByIdRelationshipsByRelationResponses]; export type GetSupertasksByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; }; export type GetSupertasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetSupertasksByIdRelationshipsByRelationError = GetSupertasksByIdRelationshipsByRelationErrors[keyof GetSupertasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetSupertasksByIdRelationshipsByRelationError = + GetSupertasksByIdRelationshipsByRelationErrors[keyof GetSupertasksByIdRelationshipsByRelationErrors]; export type GetSupertasksByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: SupertaskResponse; + /** + * successful operation + */ + 200: SupertaskResponse; }; -export type GetSupertasksByIdRelationshipsByRelationResponse = GetSupertasksByIdRelationshipsByRelationResponses[keyof GetSupertasksByIdRelationshipsByRelationResponses]; +export type GetSupertasksByIdRelationshipsByRelationResponse = + GetSupertasksByIdRelationshipsByRelationResponses[keyof GetSupertasksByIdRelationshipsByRelationResponses]; export type PatchSupertasksByIdRelationshipsByRelationData = { - body: SupertaskRelationPretasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; + body: SupertaskRelationPretasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; }; export type PatchSupertasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchSupertasksByIdRelationshipsByRelationError = PatchSupertasksByIdRelationshipsByRelationErrors[keyof PatchSupertasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchSupertasksByIdRelationshipsByRelationError = + PatchSupertasksByIdRelationshipsByRelationErrors[keyof PatchSupertasksByIdRelationshipsByRelationErrors]; export type PatchSupertasksByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchSupertasksByIdRelationshipsByRelationResponse = PatchSupertasksByIdRelationshipsByRelationResponses[keyof PatchSupertasksByIdRelationshipsByRelationResponses]; +export type PatchSupertasksByIdRelationshipsByRelationResponse = + PatchSupertasksByIdRelationshipsByRelationResponses[keyof PatchSupertasksByIdRelationshipsByRelationResponses]; export type PostSupertasksByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}/relationships/{relation}'; }; export type PostSupertasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostSupertasksByIdRelationshipsByRelationError = PostSupertasksByIdRelationshipsByRelationErrors[keyof PostSupertasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostSupertasksByIdRelationshipsByRelationError = + PostSupertasksByIdRelationshipsByRelationErrors[keyof PostSupertasksByIdRelationshipsByRelationErrors]; export type PostSupertasksByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostSupertasksByIdRelationshipsByRelationResponse = PostSupertasksByIdRelationshipsByRelationResponses[keyof PostSupertasksByIdRelationshipsByRelationResponses]; +export type PostSupertasksByIdRelationshipsByRelationResponse = + PostSupertasksByIdRelationshipsByRelationResponses[keyof PostSupertasksByIdRelationshipsByRelationResponses]; export type DeleteSupertasksByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/supertasks/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}'; }; export type DeleteSupertasksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteSupertasksByIdError = DeleteSupertasksByIdErrors[keyof DeleteSupertasksByIdErrors]; export type DeleteSupertasksByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteSupertasksByIdResponse = DeleteSupertasksByIdResponses[keyof DeleteSupertasksByIdResponses]; export type GetSupertasksByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/supertasks/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/supertasks/{id}'; }; export type GetSupertasksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetSupertasksByIdError = GetSupertasksByIdErrors[keyof GetSupertasksByIdErrors]; export type GetSupertasksByIdResponses = { - /** - * successful operation - */ - 200: SupertaskResponse; + /** + * successful operation + */ + 200: SupertaskResponse; }; export type GetSupertasksByIdResponse = GetSupertasksByIdResponses[keyof GetSupertasksByIdResponses]; export type PatchSupertasksByIdData = { - body: SupertaskPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/supertasks/{id}'; + body: SupertaskPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/supertasks/{id}'; }; export type PatchSupertasksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchSupertasksByIdError = PatchSupertasksByIdErrors[keyof PatchSupertasksByIdErrors]; export type PatchSupertasksByIdResponses = { - /** - * successful operation - */ - 200: SupertaskPostPatchResponse; + /** + * successful operation + */ + 200: SupertaskPostPatchResponse; }; export type PatchSupertasksByIdResponse = PatchSupertasksByIdResponses[keyof PatchSupertasksByIdResponses]; export type DeleteTasksData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/tasks'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/tasks'; }; export type DeleteTasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteTasksError = DeleteTasksErrors[keyof DeleteTasksErrors]; export type DeleteTasksResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetTasksData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/tasks'; -}; - -export type GetTasksErrors = { + body?: never; + path?: never; + query?: { /** - * Invalid request + * Pointer to paginate to retrieve the data after the value provided */ - 400: ErrorResponse; + 'page[after]'?: number; /** - * Authentication failed + * Pointer to paginate to retrieve the data before the value provided */ - 401: ErrorResponse; + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; + /** + * Filters results using a query + */ + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/tasks'; +}; + +export type GetTasksErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetTasksError = GetTasksErrors[keyof GetTasksErrors]; export type GetTasksResponses = { - /** - * successful operation - */ - 200: TaskListResponse; + /** + * successful operation + */ + 200: TaskListResponse; }; export type GetTasksResponse = GetTasksResponses[keyof GetTasksResponses]; export type PatchTasksData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/tasks'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/tasks'; }; export type PatchTasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchTasksError = PatchTasksErrors[keyof PatchTasksErrors]; export type PatchTasksResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostTasksData = { - body: TaskCreate; - path?: never; - query?: never; - url: '/api/v2/ui/tasks'; + body: TaskCreate; + path?: never; + query?: never; + url: '/api/v2/ui/tasks'; }; export type PostTasksErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostTasksError = PostTasksErrors[keyof PostTasksErrors]; export type PostTasksResponses = { - /** - * successful operation - */ - 201: TaskPostPatchResponse; + /** + * successful operation + */ + 201: TaskPostPatchResponse; }; export type PostTasksResponse = PostTasksResponses[keyof PostTasksResponses]; export type GetTasksCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/tasks/count'; -}; - -export type GetTasksCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/tasks/count'; +}; + +export type GetTasksCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetTasksCountError = GetTasksCountErrors[keyof GetTasksCountErrors]; export type GetTasksCountResponses = { - /** - * successful operation - */ - 200: TaskListResponse; + /** + * successful operation + */ + 200: TaskListResponse; }; export type GetTasksCountResponse = GetTasksCountResponses[keyof GetTasksCountResponses]; export type GetTasksByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/tasks/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/{relation}'; }; export type GetTasksByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetTasksByIdByRelationError = GetTasksByIdByRelationErrors[keyof GetTasksByIdByRelationErrors]; export type GetTasksByIdByRelationResponses = { - /** - * successful operation - */ - 200: TaskRelationSpeedsGetResponse; + /** + * successful operation + */ + 200: TaskRelationSpeedsGetResponse; }; export type GetTasksByIdByRelationResponse = GetTasksByIdByRelationResponses[keyof GetTasksByIdByRelationResponses]; export type DeleteTasksByIdRelationshipsByRelationData = { - body: TaskRelationSpeeds; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; + body: TaskRelationSpeeds; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; }; export type DeleteTasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteTasksByIdRelationshipsByRelationError = DeleteTasksByIdRelationshipsByRelationErrors[keyof DeleteTasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteTasksByIdRelationshipsByRelationError = + DeleteTasksByIdRelationshipsByRelationErrors[keyof DeleteTasksByIdRelationshipsByRelationErrors]; export type DeleteTasksByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteTasksByIdRelationshipsByRelationResponse = DeleteTasksByIdRelationshipsByRelationResponses[keyof DeleteTasksByIdRelationshipsByRelationResponses]; +export type DeleteTasksByIdRelationshipsByRelationResponse = + DeleteTasksByIdRelationshipsByRelationResponses[keyof DeleteTasksByIdRelationshipsByRelationResponses]; export type GetTasksByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; }; export type GetTasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetTasksByIdRelationshipsByRelationError = GetTasksByIdRelationshipsByRelationErrors[keyof GetTasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetTasksByIdRelationshipsByRelationError = + GetTasksByIdRelationshipsByRelationErrors[keyof GetTasksByIdRelationshipsByRelationErrors]; export type GetTasksByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: TaskResponse; + /** + * successful operation + */ + 200: TaskResponse; }; -export type GetTasksByIdRelationshipsByRelationResponse = GetTasksByIdRelationshipsByRelationResponses[keyof GetTasksByIdRelationshipsByRelationResponses]; +export type GetTasksByIdRelationshipsByRelationResponse = + GetTasksByIdRelationshipsByRelationResponses[keyof GetTasksByIdRelationshipsByRelationResponses]; export type PatchTasksByIdRelationshipsByRelationData = { - body: TaskRelationSpeeds; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; + body: TaskRelationSpeeds; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; }; export type PatchTasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchTasksByIdRelationshipsByRelationError = PatchTasksByIdRelationshipsByRelationErrors[keyof PatchTasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchTasksByIdRelationshipsByRelationError = + PatchTasksByIdRelationshipsByRelationErrors[keyof PatchTasksByIdRelationshipsByRelationErrors]; export type PatchTasksByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchTasksByIdRelationshipsByRelationResponse = PatchTasksByIdRelationshipsByRelationResponses[keyof PatchTasksByIdRelationshipsByRelationResponses]; +export type PatchTasksByIdRelationshipsByRelationResponse = + PatchTasksByIdRelationshipsByRelationResponses[keyof PatchTasksByIdRelationshipsByRelationResponses]; export type PostTasksByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}/relationships/{relation}'; }; export type PostTasksByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostTasksByIdRelationshipsByRelationError = PostTasksByIdRelationshipsByRelationErrors[keyof PostTasksByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostTasksByIdRelationshipsByRelationError = + PostTasksByIdRelationshipsByRelationErrors[keyof PostTasksByIdRelationshipsByRelationErrors]; export type PostTasksByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostTasksByIdRelationshipsByRelationResponse = PostTasksByIdRelationshipsByRelationResponses[keyof PostTasksByIdRelationshipsByRelationResponses]; +export type PostTasksByIdRelationshipsByRelationResponse = + PostTasksByIdRelationshipsByRelationResponses[keyof PostTasksByIdRelationshipsByRelationResponses]; export type DeleteTasksByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/tasks/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}'; }; export type DeleteTasksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteTasksByIdError = DeleteTasksByIdErrors[keyof DeleteTasksByIdErrors]; export type DeleteTasksByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteTasksByIdResponse = DeleteTasksByIdResponses[keyof DeleteTasksByIdResponses]; export type GetTasksByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/tasks/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/tasks/{id}'; }; export type GetTasksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetTasksByIdError = GetTasksByIdErrors[keyof GetTasksByIdErrors]; export type GetTasksByIdResponses = { - /** - * successful operation - */ - 200: TaskResponse; + /** + * successful operation + */ + 200: TaskResponse; }; export type GetTasksByIdResponse = GetTasksByIdResponses[keyof GetTasksByIdResponses]; export type PatchTasksByIdData = { - body: TaskPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/tasks/{id}'; + body: TaskPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/tasks/{id}'; }; export type PatchTasksByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchTasksByIdError = PatchTasksByIdErrors[keyof PatchTasksByIdErrors]; export type PatchTasksByIdResponses = { - /** - * successful operation - */ - 200: TaskPostPatchResponse; + /** + * successful operation + */ + 200: TaskPostPatchResponse; }; export type PatchTasksByIdResponse = PatchTasksByIdResponses[keyof PatchTasksByIdResponses]; export type DeleteTaskwrappersData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/taskwrappers'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/taskwrappers'; }; export type DeleteTaskwrappersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteTaskwrappersError = DeleteTaskwrappersErrors[keyof DeleteTaskwrappersErrors]; export type DeleteTaskwrappersResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetTaskwrappersData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/taskwrappers'; -}; - -export type GetTaskwrappersErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/taskwrappers'; +}; + +export type GetTaskwrappersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetTaskwrappersError = GetTaskwrappersErrors[keyof GetTaskwrappersErrors]; export type GetTaskwrappersResponses = { - /** - * successful operation - */ - 200: TaskWrapperListResponse; + /** + * successful operation + */ + 200: TaskWrapperListResponse; }; export type GetTaskwrappersResponse = GetTaskwrappersResponses[keyof GetTaskwrappersResponses]; export type PatchTaskwrappersData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/taskwrappers'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/taskwrappers'; }; export type PatchTaskwrappersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchTaskwrappersError = PatchTaskwrappersErrors[keyof PatchTaskwrappersErrors]; export type PatchTaskwrappersResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetTaskwrappersCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/taskwrappers/count'; -}; - -export type GetTaskwrappersCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/taskwrappers/count'; +}; + +export type GetTaskwrappersCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetTaskwrappersCountError = GetTaskwrappersCountErrors[keyof GetTaskwrappersCountErrors]; export type GetTaskwrappersCountResponses = { - /** - * successful operation - */ - 200: TaskWrapperListResponse; + /** + * successful operation + */ + 200: TaskWrapperListResponse; }; export type GetTaskwrappersCountResponse = GetTaskwrappersCountResponses[keyof GetTaskwrappersCountResponses]; export type GetTaskwrappersByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/taskwrappers/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/{relation}'; }; export type GetTaskwrappersByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetTaskwrappersByIdByRelationError = GetTaskwrappersByIdByRelationErrors[keyof GetTaskwrappersByIdByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetTaskwrappersByIdByRelationError = + GetTaskwrappersByIdByRelationErrors[keyof GetTaskwrappersByIdByRelationErrors]; export type GetTaskwrappersByIdByRelationResponses = { - /** - * successful operation - */ - 200: TaskWrapperRelationTasksGetResponse; + /** + * successful operation + */ + 200: TaskWrapperRelationTasksGetResponse; }; -export type GetTaskwrappersByIdByRelationResponse = GetTaskwrappersByIdByRelationResponses[keyof GetTaskwrappersByIdByRelationResponses]; +export type GetTaskwrappersByIdByRelationResponse = + GetTaskwrappersByIdByRelationResponses[keyof GetTaskwrappersByIdByRelationResponses]; export type DeleteTaskwrappersByIdRelationshipsByRelationData = { - body: TaskWrapperRelationTasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; + body: TaskWrapperRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; }; export type DeleteTaskwrappersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteTaskwrappersByIdRelationshipsByRelationError = DeleteTaskwrappersByIdRelationshipsByRelationErrors[keyof DeleteTaskwrappersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteTaskwrappersByIdRelationshipsByRelationError = + DeleteTaskwrappersByIdRelationshipsByRelationErrors[keyof DeleteTaskwrappersByIdRelationshipsByRelationErrors]; export type DeleteTaskwrappersByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteTaskwrappersByIdRelationshipsByRelationResponse = DeleteTaskwrappersByIdRelationshipsByRelationResponses[keyof DeleteTaskwrappersByIdRelationshipsByRelationResponses]; +export type DeleteTaskwrappersByIdRelationshipsByRelationResponse = + DeleteTaskwrappersByIdRelationshipsByRelationResponses[keyof DeleteTaskwrappersByIdRelationshipsByRelationResponses]; export type GetTaskwrappersByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; }; export type GetTaskwrappersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetTaskwrappersByIdRelationshipsByRelationError = GetTaskwrappersByIdRelationshipsByRelationErrors[keyof GetTaskwrappersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetTaskwrappersByIdRelationshipsByRelationError = + GetTaskwrappersByIdRelationshipsByRelationErrors[keyof GetTaskwrappersByIdRelationshipsByRelationErrors]; export type GetTaskwrappersByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: TaskWrapperResponse; + /** + * successful operation + */ + 200: TaskWrapperResponse; }; -export type GetTaskwrappersByIdRelationshipsByRelationResponse = GetTaskwrappersByIdRelationshipsByRelationResponses[keyof GetTaskwrappersByIdRelationshipsByRelationResponses]; +export type GetTaskwrappersByIdRelationshipsByRelationResponse = + GetTaskwrappersByIdRelationshipsByRelationResponses[keyof GetTaskwrappersByIdRelationshipsByRelationResponses]; export type PatchTaskwrappersByIdRelationshipsByRelationData = { - body: TaskWrapperRelationTasks; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; + body: TaskWrapperRelationTasks; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; }; export type PatchTaskwrappersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchTaskwrappersByIdRelationshipsByRelationError = PatchTaskwrappersByIdRelationshipsByRelationErrors[keyof PatchTaskwrappersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchTaskwrappersByIdRelationshipsByRelationError = + PatchTaskwrappersByIdRelationshipsByRelationErrors[keyof PatchTaskwrappersByIdRelationshipsByRelationErrors]; export type PatchTaskwrappersByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchTaskwrappersByIdRelationshipsByRelationResponse = PatchTaskwrappersByIdRelationshipsByRelationResponses[keyof PatchTaskwrappersByIdRelationshipsByRelationResponses]; +export type PatchTaskwrappersByIdRelationshipsByRelationResponse = + PatchTaskwrappersByIdRelationshipsByRelationResponses[keyof PatchTaskwrappersByIdRelationshipsByRelationResponses]; export type PostTaskwrappersByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}/relationships/{relation}'; }; export type PostTaskwrappersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PostTaskwrappersByIdRelationshipsByRelationError = PostTaskwrappersByIdRelationshipsByRelationErrors[keyof PostTaskwrappersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostTaskwrappersByIdRelationshipsByRelationError = + PostTaskwrappersByIdRelationshipsByRelationErrors[keyof PostTaskwrappersByIdRelationshipsByRelationErrors]; export type PostTaskwrappersByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; + /** + * successfully created + */ + 204: void; }; -export type PostTaskwrappersByIdRelationshipsByRelationResponse = PostTaskwrappersByIdRelationshipsByRelationResponses[keyof PostTaskwrappersByIdRelationshipsByRelationResponses]; +export type PostTaskwrappersByIdRelationshipsByRelationResponse = + PostTaskwrappersByIdRelationshipsByRelationResponses[keyof PostTaskwrappersByIdRelationshipsByRelationResponses]; export type DeleteTaskwrappersByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/taskwrappers/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}'; }; export type DeleteTaskwrappersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteTaskwrappersByIdError = DeleteTaskwrappersByIdErrors[keyof DeleteTaskwrappersByIdErrors]; export type DeleteTaskwrappersByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteTaskwrappersByIdResponse = DeleteTaskwrappersByIdResponses[keyof DeleteTaskwrappersByIdResponses]; export type GetTaskwrappersByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/taskwrappers/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/taskwrappers/{id}'; }; export type GetTaskwrappersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetTaskwrappersByIdError = GetTaskwrappersByIdErrors[keyof GetTaskwrappersByIdErrors]; export type GetTaskwrappersByIdResponses = { - /** - * successful operation - */ - 200: TaskWrapperResponse; + /** + * successful operation + */ + 200: TaskWrapperResponse; }; export type GetTaskwrappersByIdResponse = GetTaskwrappersByIdResponses[keyof GetTaskwrappersByIdResponses]; export type PatchTaskwrappersByIdData = { - body: TaskWrapperPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/taskwrappers/{id}'; + body: TaskWrapperPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/taskwrappers/{id}'; }; export type PatchTaskwrappersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchTaskwrappersByIdError = PatchTaskwrappersByIdErrors[keyof PatchTaskwrappersByIdErrors]; export type PatchTaskwrappersByIdResponses = { - /** - * successful operation - */ - 200: TaskWrapperPostPatchResponse; + /** + * successful operation + */ + 200: TaskWrapperPostPatchResponse; }; export type PatchTaskwrappersByIdResponse = PatchTaskwrappersByIdResponses[keyof PatchTaskwrappersByIdResponses]; export type DeleteUsersData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/users'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/users'; }; export type DeleteUsersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteUsersError = DeleteUsersErrors[keyof DeleteUsersErrors]; export type DeleteUsersResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetUsersData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/users'; -}; - -export type GetUsersErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/users'; +}; + +export type GetUsersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetUsersError = GetUsersErrors[keyof GetUsersErrors]; export type GetUsersResponses = { - /** - * successful operation - */ - 200: UserListResponse; + /** + * successful operation + */ + 200: UserListResponse; }; export type GetUsersResponse = GetUsersResponses[keyof GetUsersResponses]; export type PatchUsersData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/users'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/users'; }; export type PatchUsersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchUsersError = PatchUsersErrors[keyof PatchUsersErrors]; export type PatchUsersResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostUsersData = { - body: UserCreate; - path?: never; - query?: never; - url: '/api/v2/ui/users'; + body: UserCreate; + path?: never; + query?: never; + url: '/api/v2/ui/users'; }; export type PostUsersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostUsersError = PostUsersErrors[keyof PostUsersErrors]; export type PostUsersResponses = { - /** - * successful operation - */ - 201: UserPostPatchResponse; + /** + * successful operation + */ + 201: UserPostPatchResponse; }; export type PostUsersResponse = PostUsersResponses[keyof PostUsersResponses]; export type GetUsersCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/users/count'; -}; - -export type GetUsersCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/users/count'; +}; + +export type GetUsersCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetUsersCountError = GetUsersCountErrors[keyof GetUsersCountErrors]; export type GetUsersCountResponses = { - /** - * successful operation - */ - 200: UserListResponse; + /** + * successful operation + */ + 200: UserListResponse; }; export type GetUsersCountResponse = GetUsersCountResponses[keyof GetUsersCountResponses]; export type GetUsersByIdByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/users/{id}/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/{relation}'; }; export type GetUsersByIdByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetUsersByIdByRelationError = GetUsersByIdByRelationErrors[keyof GetUsersByIdByRelationErrors]; export type GetUsersByIdByRelationResponses = { - /** - * successful operation - */ - 200: UserRelationAccessGroupsGetResponse; + /** + * successful operation + */ + 200: UserRelationAccessGroupsGetResponse; }; export type GetUsersByIdByRelationResponse = GetUsersByIdByRelationResponses[keyof GetUsersByIdByRelationResponses]; export type DeleteUsersByIdRelationshipsByRelationData = { - body: UserRelationAccessGroups; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/users/{id}/relationships/{relation}'; + body: UserRelationAccessGroups; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/relationships/{relation}'; }; export type DeleteUsersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type DeleteUsersByIdRelationshipsByRelationError = DeleteUsersByIdRelationshipsByRelationErrors[keyof DeleteUsersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type DeleteUsersByIdRelationshipsByRelationError = + DeleteUsersByIdRelationshipsByRelationErrors[keyof DeleteUsersByIdRelationshipsByRelationErrors]; export type DeleteUsersByIdRelationshipsByRelationResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; -export type DeleteUsersByIdRelationshipsByRelationResponse = DeleteUsersByIdRelationshipsByRelationResponses[keyof DeleteUsersByIdRelationshipsByRelationResponses]; +export type DeleteUsersByIdRelationshipsByRelationResponse = + DeleteUsersByIdRelationshipsByRelationResponses[keyof DeleteUsersByIdRelationshipsByRelationResponses]; export type GetUsersByIdRelationshipsByRelationData = { - body?: never; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/users/{id}/relationships/{relation}'; + body?: never; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/relationships/{relation}'; }; export type GetUsersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type GetUsersByIdRelationshipsByRelationError = GetUsersByIdRelationshipsByRelationErrors[keyof GetUsersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type GetUsersByIdRelationshipsByRelationError = + GetUsersByIdRelationshipsByRelationErrors[keyof GetUsersByIdRelationshipsByRelationErrors]; export type GetUsersByIdRelationshipsByRelationResponses = { - /** - * successful operation - */ - 200: UserResponse; + /** + * successful operation + */ + 200: UserResponse; }; -export type GetUsersByIdRelationshipsByRelationResponse = GetUsersByIdRelationshipsByRelationResponses[keyof GetUsersByIdRelationshipsByRelationResponses]; +export type GetUsersByIdRelationshipsByRelationResponse = + GetUsersByIdRelationshipsByRelationResponses[keyof GetUsersByIdRelationshipsByRelationResponses]; export type PatchUsersByIdRelationshipsByRelationData = { - body: UserRelationAccessGroups; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/users/{id}/relationships/{relation}'; + body: UserRelationAccessGroups; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/relationships/{relation}'; }; export type PatchUsersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; - -export type PatchUsersByIdRelationshipsByRelationError = PatchUsersByIdRelationshipsByRelationErrors[keyof PatchUsersByIdRelationshipsByRelationErrors]; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PatchUsersByIdRelationshipsByRelationError = + PatchUsersByIdRelationshipsByRelationErrors[keyof PatchUsersByIdRelationshipsByRelationErrors]; export type PatchUsersByIdRelationshipsByRelationResponses = { - /** - * Successfull operation - */ - 204: void; + /** + * Successfull operation + */ + 204: void; }; -export type PatchUsersByIdRelationshipsByRelationResponse = PatchUsersByIdRelationshipsByRelationResponses[keyof PatchUsersByIdRelationshipsByRelationResponses]; +export type PatchUsersByIdRelationshipsByRelationResponse = + PatchUsersByIdRelationshipsByRelationResponses[keyof PatchUsersByIdRelationshipsByRelationResponses]; export type PostUsersByIdRelationshipsByRelationData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - relation: string; - }; - query?: never; - url: '/api/v2/ui/users/{id}/relationships/{relation}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + relation: string; + }; + query?: never; + url: '/api/v2/ui/users/{id}/relationships/{relation}'; }; export type PostUsersByIdRelationshipsByRelationErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; -}; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; +}; + +export type PostUsersByIdRelationshipsByRelationError = + PostUsersByIdRelationshipsByRelationErrors[keyof PostUsersByIdRelationshipsByRelationErrors]; -export type PostUsersByIdRelationshipsByRelationError = PostUsersByIdRelationshipsByRelationErrors[keyof PostUsersByIdRelationshipsByRelationErrors]; - -export type PostUsersByIdRelationshipsByRelationResponses = { - /** - * successfully created - */ - 204: void; +export type PostUsersByIdRelationshipsByRelationResponses = { + /** + * successfully created + */ + 204: void; }; -export type PostUsersByIdRelationshipsByRelationResponse = PostUsersByIdRelationshipsByRelationResponses[keyof PostUsersByIdRelationshipsByRelationResponses]; +export type PostUsersByIdRelationshipsByRelationResponse = + PostUsersByIdRelationshipsByRelationResponses[keyof PostUsersByIdRelationshipsByRelationResponses]; export type DeleteUsersByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/users/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/users/{id}'; }; export type DeleteUsersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteUsersByIdError = DeleteUsersByIdErrors[keyof DeleteUsersByIdErrors]; export type DeleteUsersByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteUsersByIdResponse = DeleteUsersByIdResponses[keyof DeleteUsersByIdResponses]; export type GetUsersByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/users/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/users/{id}'; }; export type GetUsersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetUsersByIdError = GetUsersByIdErrors[keyof GetUsersByIdErrors]; export type GetUsersByIdResponses = { - /** - * successful operation - */ - 200: UserResponse; + /** + * successful operation + */ + 200: UserResponse; }; export type GetUsersByIdResponse = GetUsersByIdResponses[keyof GetUsersByIdResponses]; export type PatchUsersByIdData = { - body: UserPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/users/{id}'; + body: UserPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/users/{id}'; }; export type PatchUsersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchUsersByIdError = PatchUsersByIdErrors[keyof PatchUsersByIdErrors]; export type PatchUsersByIdResponses = { - /** - * successful operation - */ - 200: UserPostPatchResponse; + /** + * successful operation + */ + 200: UserPostPatchResponse; }; export type PatchUsersByIdResponse = PatchUsersByIdResponses[keyof PatchUsersByIdResponses]; export type DeleteVouchersData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/vouchers'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/vouchers'; }; export type DeleteVouchersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type DeleteVouchersError = DeleteVouchersErrors[keyof DeleteVouchersErrors]; export type DeleteVouchersResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetVouchersData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/vouchers'; -}; - -export type GetVouchersErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; + /** + * Amout of data to retrieve inside a single page + */ + 'page[size]'?: number; /** - * Invalid request + * Filters results using a query */ - 400: ErrorResponse; + filter?: { + [key: string]: unknown; + }; /** - * Authentication failed + * Items to include, comma seperated. Possible options: Array */ - 401: ErrorResponse; + include?: string; + }; + url: '/api/v2/ui/vouchers'; +}; + +export type GetVouchersErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetVouchersError = GetVouchersErrors[keyof GetVouchersErrors]; export type GetVouchersResponses = { - /** - * successful operation - */ - 200: VoucherListResponse; + /** + * successful operation + */ + 200: VoucherListResponse; }; export type GetVouchersResponse = GetVouchersResponses[keyof GetVouchersResponses]; export type PatchVouchersData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/ui/vouchers'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/ui/vouchers'; }; export type PatchVouchersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PatchVouchersError = PatchVouchersErrors[keyof PatchVouchersErrors]; export type PatchVouchersResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostVouchersData = { - body: VoucherCreate; - path?: never; - query?: never; - url: '/api/v2/ui/vouchers'; + body: VoucherCreate; + path?: never; + query?: never; + url: '/api/v2/ui/vouchers'; }; export type PostVouchersErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type PostVouchersError = PostVouchersErrors[keyof PostVouchersErrors]; export type PostVouchersResponses = { - /** - * successful operation - */ - 201: VoucherPostPatchResponse; + /** + * successful operation + */ + 201: VoucherPostPatchResponse; }; export type PostVouchersResponse = PostVouchersResponses[keyof PostVouchersResponses]; export type GetVouchersCountData = { - body?: never; - path?: never; - query?: { - /** - * Pointer to paginate to retrieve the data after the value provided - */ - 'page[after]'?: number; - /** - * Pointer to paginate to retrieve the data before the value provided - */ - 'page[before]'?: number; - /** - * Amout of data to retrieve inside a single page - */ - 'page[size]'?: number; - /** - * Filters results using a query - */ - filter?: { - [key: string]: unknown; - }; - /** - * Items to include, comma seperated. Possible options: Array - */ - include?: string; - }; - url: '/api/v2/ui/vouchers/count'; -}; - -export type GetVouchersCountErrors = { + body?: never; + path?: never; + query?: { + /** + * Pointer to paginate to retrieve the data after the value provided + */ + 'page[after]'?: number; + /** + * Pointer to paginate to retrieve the data before the value provided + */ + 'page[before]'?: number; /** - * Invalid request + * Amout of data to retrieve inside a single page */ - 400: ErrorResponse; + 'page[size]'?: number; /** - * Authentication failed + * Filters results using a query */ - 401: ErrorResponse; + filter?: { + [key: string]: unknown; + }; + /** + * Items to include, comma seperated. Possible options: Array + */ + include?: string; + }; + url: '/api/v2/ui/vouchers/count'; +}; + +export type GetVouchersCountErrors = { + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; }; export type GetVouchersCountError = GetVouchersCountErrors[keyof GetVouchersCountErrors]; export type GetVouchersCountResponses = { - /** - * successful operation - */ - 200: VoucherListResponse; + /** + * successful operation + */ + 200: VoucherListResponse; }; export type GetVouchersCountResponse = GetVouchersCountResponses[keyof GetVouchersCountResponses]; export type DeleteVouchersByIdData = { - body: { - [key: string]: unknown; - }; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/vouchers/{id}'; + body: { + [key: string]: unknown; + }; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/vouchers/{id}'; }; export type DeleteVouchersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type DeleteVouchersByIdError = DeleteVouchersByIdErrors[keyof DeleteVouchersByIdErrors]; export type DeleteVouchersByIdResponses = { - /** - * successfully deleted - */ - 204: void; + /** + * successfully deleted + */ + 204: void; }; export type DeleteVouchersByIdResponse = DeleteVouchersByIdResponses[keyof DeleteVouchersByIdResponses]; export type GetVouchersByIdData = { - body?: never; - path: { - id: number; - }; - query?: { - /** - * Items to include. Comma seperated - */ - include?: string; - }; - url: '/api/v2/ui/vouchers/{id}'; + body?: never; + path: { + id: number; + }; + query?: { + /** + * Items to include. Comma seperated + */ + include?: string; + }; + url: '/api/v2/ui/vouchers/{id}'; }; export type GetVouchersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type GetVouchersByIdError = GetVouchersByIdErrors[keyof GetVouchersByIdErrors]; export type GetVouchersByIdResponses = { - /** - * successful operation - */ - 200: VoucherResponse; + /** + * successful operation + */ + 200: VoucherResponse; }; export type GetVouchersByIdResponse = GetVouchersByIdResponses[keyof GetVouchersByIdResponses]; export type PatchVouchersByIdData = { - body: VoucherPatch; - path: { - id: number; - }; - query?: never; - url: '/api/v2/ui/vouchers/{id}'; + body: VoucherPatch; + path: { + id: number; + }; + query?: never; + url: '/api/v2/ui/vouchers/{id}'; }; export type PatchVouchersByIdErrors = { - /** - * Invalid request - */ - 400: ErrorResponse; - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Invalid request + */ + 400: ErrorResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PatchVouchersByIdError = PatchVouchersByIdErrors[keyof PatchVouchersByIdErrors]; export type PatchVouchersByIdResponses = { - /** - * successful operation - */ - 200: VoucherPostPatchResponse; + /** + * successful operation + */ + 200: VoucherPostPatchResponse; }; export type PatchVouchersByIdResponse = PatchVouchersByIdResponses[keyof PatchVouchersByIdResponses]; export type PostAbortChunkData = { - /** - * ChunkID is the ID of the chunk that needs to be aborted.
- */ - body: AbortChunkHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/abortChunk'; + /** + * ChunkID is the ID of the chunk that needs to be aborted.
+ */ + body: AbortChunkHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/abortChunk'; }; export type PostAbortChunkResponses = { - /** - * successful operation - */ - 200: AbortChunkHelperApiResponse; + /** + * successful operation + */ + 200: AbortChunkHelperApiResponse; }; export type PostAbortChunkResponse = PostAbortChunkResponses[keyof PostAbortChunkResponses]; export type PostAssignAgentData = { - /** - * The agentId is the Id of the agent that has to be assigned to the task.
The taskId is the Id of the task that will be assigned to the agent. If this is set to 0,
the agent will be unassigned from its current assigned task.
- */ - body: AssignAgentHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/assignAgent'; + /** + * The agentId is the Id of the agent that has to be assigned to the task.
The taskId is the Id of the task that will be assigned to the agent. If this is set to 0,
the agent will be unassigned from its current assigned task.
+ */ + body: AssignAgentHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/assignAgent'; }; export type PostAssignAgentResponses = { - /** - * successful operation - */ - 200: AssignAgentHelperApiResponse; + /** + * successful operation + */ + 200: AssignAgentHelperApiResponse; }; export type PostAssignAgentResponse = PostAssignAgentResponses[keyof PostAssignAgentResponses]; export type PostBulkSupertaskBuilderData = { - body: BulkSupertaskBuilderHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/bulkSupertaskBuilder'; + body: BulkSupertaskBuilderHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/bulkSupertaskBuilder'; }; export type PostBulkSupertaskBuilderResponses = { - /** - * successful operation - */ - 200: SupertaskSingleResponse; + /** + * successful operation + */ + 200: SupertaskSingleResponse; }; -export type PostBulkSupertaskBuilderResponse = PostBulkSupertaskBuilderResponses[keyof PostBulkSupertaskBuilderResponses]; +export type PostBulkSupertaskBuilderResponse = + PostBulkSupertaskBuilderResponses[keyof PostBulkSupertaskBuilderResponses]; export type PostChangeOwnPasswordData = { - /** - * oldPassword is the current password of the user.
newPassword is the new password that you want to set.
confirmPassword is the new password again to confirm it.
- */ - body: ChangeOwnPasswordHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/changeOwnPassword'; + /** + * oldPassword is the current password of the user.
newPassword is the new password that you want to set.
confirmPassword is the new password again to confirm it.
+ */ + body: ChangeOwnPasswordHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/changeOwnPassword'; }; export type PostChangeOwnPasswordResponses = { - /** - * successful operation - */ - 200: ChangeOwnPasswordHelperApiResponse; + /** + * successful operation + */ + 200: ChangeOwnPasswordHelperApiResponse; }; export type PostChangeOwnPasswordResponse = PostChangeOwnPasswordResponses[keyof PostChangeOwnPasswordResponses]; export type PostCreateSuperHashlistData = { - /** - * HashlistIds is an array of hashlist ids of the hashlists that have to be combined into a superHashlist.
Name is the name of the newly created superHashlist.
- */ - body: CreateSuperHashlistHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/createSuperHashlist'; + /** + * HashlistIds is an array of hashlist ids of the hashlists that have to be combined into a superHashlist.
Name is the name of the newly created superHashlist.
+ */ + body: CreateSuperHashlistHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/createSuperHashlist'; }; export type PostCreateSuperHashlistResponses = { - /** - * successful operation - */ - 200: HashlistSingleResponse; + /** + * successful operation + */ + 200: HashlistSingleResponse; }; export type PostCreateSuperHashlistResponse = PostCreateSuperHashlistResponses[keyof PostCreateSuperHashlistResponses]; export type PostCreateSupertaskData = { - /** - * supertaskTemplateId is the the Id of the supertasktemplate of which you want to create a supertask of.
hashlistId is the Id of the hashlist that has to be used for the supertask.
crackerVersionId is the Id of the crackerversion that is used for the created supertask.
- */ - body: CreateSupertaskHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/createSupertask'; + /** + * supertaskTemplateId is the the Id of the supertasktemplate of which you want to create a supertask of.
hashlistId is the Id of the hashlist that has to be used for the supertask.
crackerVersionId is the Id of the crackerversion that is used for the created supertask.
+ */ + body: CreateSupertaskHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/createSupertask'; }; export type PostCreateSupertaskResponses = { - /** - * successful operation - */ - 200: TaskWrapperSingleResponse; + /** + * successful operation + */ + 200: TaskWrapperSingleResponse; }; export type PostCreateSupertaskResponse = PostCreateSupertaskResponses[keyof PostCreateSupertaskResponses]; export type GetCurrentUserData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/helper/currentUser'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/currentUser'; }; export type GetCurrentUserResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PatchCurrentUserData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/helper/currentUser'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/currentUser'; }; export type PatchCurrentUserResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostExportCrackedHashesData = { - /** - * hashlistId is the Id of the hashlist where you want to export the hashes of.
- */ - body: ExportCrackedHashesHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/exportCrackedHashes'; + /** + * hashlistId is the Id of the hashlist where you want to export the hashes of.
+ */ + body: ExportCrackedHashesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/exportCrackedHashes'; }; export type PostExportCrackedHashesResponses = { - /** - * successful operation - */ - 200: FileSingleResponse; + /** + * successful operation + */ + 200: FileSingleResponse; }; export type PostExportCrackedHashesResponse = PostExportCrackedHashesResponses[keyof PostExportCrackedHashesResponses]; export type PostExportLeftHashesData = { - /** - * hashlistId is the id of the hashlist where you want to export the uncracked hashes of.
- */ - body: ExportLeftHashesHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/exportLeftHashes'; + /** + * hashlistId is the id of the hashlist where you want to export the uncracked hashes of.
+ */ + body: ExportLeftHashesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/exportLeftHashes'; }; export type PostExportLeftHashesResponses = { - /** - * successful operation - */ - 200: FileSingleResponse; + /** + * successful operation + */ + 200: FileSingleResponse; }; export type PostExportLeftHashesResponse = PostExportLeftHashesResponses[keyof PostExportLeftHashesResponses]; export type PostExportWordlistData = { - /** - * hashlistId is the Id of the hashlist where you want to export the wordlist of.
- */ - body: ExportWordlistHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/exportWordlist'; + /** + * hashlistId is the Id of the hashlist where you want to export the wordlist of.
+ */ + body: ExportWordlistHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/exportWordlist'; }; export type PostExportWordlistResponses = { - /** - * successful operation - */ - 200: FileSingleResponse; + /** + * successful operation + */ + 200: FileSingleResponse; }; export type PostExportWordlistResponse = PostExportWordlistResponses[keyof PostExportWordlistResponses]; export type GetGetAccessGroupsData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/helper/getAccessGroups'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/getAccessGroups'; }; export type GetGetAccessGroupsResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetGetAgentBinaryData = { - body?: never; - path?: never; - query: { - /** - * The ID of the agent zip to download. - */ - agent: number; - }; - url: '/api/v2/helper/getAgentBinary'; + body?: never; + path?: never; + query: { + /** + * The ID of the agent zip to download. + */ + agent: number; + }; + url: '/api/v2/helper/getAgentBinary'; }; export type GetGetAgentBinaryResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetGetBestTasksAgentData = { - body?: never; - path?: never; - query: { - /** - * The ID of the agent. - */ - agent: number; - }; - url: '/api/v2/helper/getBestTasksAgent'; + body?: never; + path?: never; + query: { + /** + * The ID of the agent. + */ + agent: number; + }; + url: '/api/v2/helper/getBestTasksAgent'; }; export type GetGetBestTasksAgentResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetGetCracksOfTaskData = { - body?: never; - path?: never; - query: { - /** - * The ID of the task. - */ - task: number; - }; - url: '/api/v2/helper/getCracksOfTask'; + body?: never; + path?: never; + query: { + /** + * The ID of the task. + */ + task: number; + }; + url: '/api/v2/helper/getCracksOfTask'; }; export type GetGetCracksOfTaskResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetGetFileData = { - body?: never; - path?: never; - query: { - /** - * The ID of the file to download. - */ - file: number; - }; - url: '/api/v2/helper/getFile'; + body?: never; + path?: never; + query: { + /** + * The ID of the file to download. + */ + file: number; + }; + url: '/api/v2/helper/getFile'; }; export type GetGetFileResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetGetTaskProgressImageData = { - body?: never; - path?: never; - query?: { - /** - * The ID of the supertask where you want to create the progress image of. - */ - supertask?: number; - /** - * The ID of the task where you want to create the progress image of. - */ - task?: number; - }; - url: '/api/v2/helper/getTaskProgressImage'; + body?: never; + path?: never; + query?: { + /** + * The ID of the supertask where you want to create the progress image of. + */ + supertask?: number; + /** + * The ID of the task where you want to create the progress image of. + */ + task?: number; + }; + url: '/api/v2/helper/getTaskProgressImage'; }; export type GetGetTaskProgressImageResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type GetGetUserPermissionData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/helper/getUserPermission'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/getUserPermission'; }; export type GetGetUserPermissionResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostImportCrackedHashesData = { - /** - * HashlistId is the Id of the hashlist where you want to import the cracked hashes into.
SourceData is the cracked hashes you want to import.
Seperator is the seperator that has been used for the salt in the hashes.
- */ - body: ImportCrackedHashesHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/importCrackedHashes'; + /** + * HashlistId is the Id of the hashlist where you want to import the cracked hashes into.
SourceData is the cracked hashes you want to import.
Seperator is the seperator that has been used for the salt in the hashes.
+ */ + body: ImportCrackedHashesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/importCrackedHashes'; }; export type PostImportCrackedHashesResponses = { - /** - * successful operation - */ - 200: ImportCrackedHashesHelperApiResponse; + /** + * successful operation + */ + 200: ImportCrackedHashesHelperApiResponse; }; export type PostImportCrackedHashesResponse = PostImportCrackedHashesResponses[keyof PostImportCrackedHashesResponses]; export type GetImportFileData = { - body?: never; - path?: never; - query?: never; - url: '/api/v2/helper/importFile'; + body?: never; + path?: never; + query?: never; + url: '/api/v2/helper/importFile'; }; export type GetImportFileResponses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type PostImportFileData = { + /** + * Import file has no POST parameters
+ */ + body: ImportFileHelperApi; + headers: { /** - * Import file has no POST parameters
- */ - body: ImportFileHelperApi; - headers: { - /** - * The Upload-Metadata header contains one or more comma-separated key-value pairs. - * Each pair is formatted as ` `, where: - * - `key` is a string without spaces. - * - `value` is base64-encoded - */ - 'Upload-Metadata': string; - /** - * The total size of the upload in bytes. Must be a positive integer. - * Required if `Upload-Defer-Length` is not set. - */ - 'Upload-Length'?: number; - /** - * Indicates that the upload length is not known at creation time. - * Value must be `1`. If present, `Upload-Length` must be omitted. - */ - 'Upload-Defer-Length'?: number; - }; - path?: never; - query?: never; - url: '/api/v2/helper/importFile'; -}; - -export type PostImportFileResponses = { + * The Upload-Metadata header contains one or more comma-separated key-value pairs. + * Each pair is formatted as ` `, where: + * - `key` is a string without spaces. + * - `value` is base64-encoded + */ + 'Upload-Metadata': string; /** - * successful operation + * The total size of the upload in bytes. Must be a positive integer. + * Required if `Upload-Defer-Length` is not set. */ - 200: unknown; + 'Upload-Length'?: number; /** - * successful operation + * Indicates that the upload length is not known at creation time. + * Value must be `1`. If present, `Upload-Length` must be omitted. */ - 201: Blob | File; + 'Upload-Defer-Length'?: number; + }; + path?: never; + query?: never; + url: '/api/v2/helper/importFile'; +}; + +export type PostImportFileResponses = { + /** + * successful operation + */ + 200: unknown; + /** + * successful operation + */ + 201: Blob | File; }; export type PostImportFileResponse = PostImportFileResponses[keyof PostImportFileResponses]; export type DeleteImportFileById09aF32Data = { - body?: never; - path: { - 32: string; - id: number; - }; - query?: never; - url: '/api/v2/helper/importFile/{id}-[0-9a-f]{32}}'; + body?: never; + path: { + 32: string; + id: number; + }; + query?: never; + url: '/api/v2/helper/importFile/{id}-[0-9a-f]{32}}'; }; export type DeleteImportFileById09aF32Responses = { - /** - * successful operation - */ - 200: unknown; + /** + * successful operation + */ + 200: unknown; }; export type HeadImportFileById09aF32Data = { - body?: never; - path: { - 32: string; - id: number; - }; - query?: never; - url: '/api/v2/helper/importFile/{id}-[0-9a-f]{32}}'; + body?: never; + path: { + 32: string; + id: number; + }; + query?: never; + url: '/api/v2/helper/importFile/{id}-[0-9a-f]{32}}'; }; export type HeadImportFileById09aF32Responses = { - /** - * successful request - */ - 200: unknown; + /** + * successful request + */ + 200: unknown; }; export type PatchImportFileById09aF32Data = { + /** + * The binary data to push to the file + */ + body: Blob | File; + headers: { /** - * The binary data to push to the file + * The Upload-Offset header's value MUST be equal to the current offset of the resource */ - body: Blob | File; - headers: { - /** - * The Upload-Offset header's value MUST be equal to the current offset of the resource - */ - 'Upload-Offset': number; - 'Content-Type': 'application/offset+octet-stream'; - }; - path: { - 32: string; - id: number; - }; - query?: never; - url: '/api/v2/helper/importFile/{id}-[0-9a-f]{32}}'; + 'Upload-Offset': number; + 'Content-Type': 'application/offset+octet-stream'; + }; + path: { + 32: string; + id: number; + }; + query?: never; + url: '/api/v2/helper/importFile/{id}-[0-9a-f]{32}}'; }; export type PatchImportFileById09aF32Responses = { - /** - * successful operation - */ - 200: unknown; - /** - * Chunk accepted - */ - 204: void; + /** + * successful operation + */ + 200: unknown; + /** + * Chunk accepted + */ + 204: void; }; -export type PatchImportFileById09aF32Response = PatchImportFileById09aF32Responses[keyof PatchImportFileById09aF32Responses]; +export type PatchImportFileById09aF32Response = + PatchImportFileById09aF32Responses[keyof PatchImportFileById09aF32Responses]; export type PostMaskSupertaskBuilderData = { - body: MaskSupertaskBuilderHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/maskSupertaskBuilder'; + body: MaskSupertaskBuilderHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/maskSupertaskBuilder'; }; export type PostMaskSupertaskBuilderResponses = { - /** - * successful operation - */ - 200: SupertaskSingleResponse; + /** + * successful operation + */ + 200: SupertaskSingleResponse; }; -export type PostMaskSupertaskBuilderResponse = PostMaskSupertaskBuilderResponses[keyof PostMaskSupertaskBuilderResponses]; +export type PostMaskSupertaskBuilderResponse = + PostMaskSupertaskBuilderResponses[keyof PostMaskSupertaskBuilderResponses]; export type PostPurgeTaskData = { - /** - * taskId is the id of the task that should be purged.
- */ - body: PurgeTaskHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/purgeTask'; + /** + * taskId is the id of the task that should be purged.
+ */ + body: PurgeTaskHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/purgeTask'; }; export type PostPurgeTaskResponses = { - /** - * successful operation - */ - 200: PurgeTaskHelperApiResponse; + /** + * successful operation + */ + 200: PurgeTaskHelperApiResponse; }; export type PostPurgeTaskResponse = PostPurgeTaskResponses[keyof PostPurgeTaskResponses]; export type PostRebuildChunkCacheData = { - body: RebuildChunkCacheHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/rebuildChunkCache'; + body: RebuildChunkCacheHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/rebuildChunkCache'; }; export type PostRebuildChunkCacheResponses = { - /** - * successful operation - */ - 200: RebuildChunkCacheHelperApiResponse; + /** + * successful operation + */ + 200: RebuildChunkCacheHelperApiResponse; }; export type PostRebuildChunkCacheResponse = PostRebuildChunkCacheResponses[keyof PostRebuildChunkCacheResponses]; export type PostRecountFileLinesData = { - /** - * FileId is the id of the file that needs to be recounted.
- */ - body: RecountFileLinesHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/recountFileLines'; + /** + * FileId is the id of the file that needs to be recounted.
+ */ + body: RecountFileLinesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/recountFileLines'; }; export type PostRecountFileLinesResponses = { - /** - * successful operation - */ - 200: FileSingleResponse; + /** + * successful operation + */ + 200: FileSingleResponse; }; export type PostRecountFileLinesResponse = PostRecountFileLinesResponses[keyof PostRecountFileLinesResponses]; export type PostRescanGlobalFilesData = { - body: RescanGlobalFilesHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/rescanGlobalFiles'; + body: RescanGlobalFilesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/rescanGlobalFiles'; }; export type PostRescanGlobalFilesResponses = { - /** - * successful operation - */ - 200: RescanGlobalFilesHelperApiResponse; + /** + * successful operation + */ + 200: RescanGlobalFilesHelperApiResponse; }; export type PostRescanGlobalFilesResponse = PostRescanGlobalFilesResponses[keyof PostRescanGlobalFilesResponses]; export type PostResetChunkData = { - /** - * chunkId is the id of the chunk which you want to reset.
- */ - body: ResetChunkHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/resetChunk'; + /** + * chunkId is the id of the chunk which you want to reset.
+ */ + body: ResetChunkHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/resetChunk'; }; export type PostResetChunkResponses = { - /** - * successful operation - */ - 200: ResetChunkHelperApiResponse; + /** + * successful operation + */ + 200: ResetChunkHelperApiResponse; }; export type PostResetChunkResponse = PostResetChunkResponses[keyof PostResetChunkResponses]; export type PostResetUserPasswordData = { - body: ResetUserPasswordHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/resetUserPassword'; + body: ResetUserPasswordHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/resetUserPassword'; }; export type PostResetUserPasswordResponses = { - /** - * successful operation - */ - 200: ResetUserPasswordHelperApiResponse; + /** + * successful operation + */ + 200: ResetUserPasswordHelperApiResponse; }; export type PostResetUserPasswordResponse = PostResetUserPasswordResponses[keyof PostResetUserPasswordResponses]; export type PostSearchHashesData = { - body: SearchHashesHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/searchHashes'; + body: SearchHashesHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/searchHashes'; }; export type PostSearchHashesResponses = { - /** - * successful operation - */ - 200: SearchHashesHelperApiResponse; + /** + * successful operation + */ + 200: SearchHashesHelperApiResponse; }; export type PostSearchHashesResponse = PostSearchHashesResponses[keyof PostSearchHashesResponses]; export type PostSetUserPasswordData = { - /** - * userId is the id of the user of which you want to change the password.
password is the new password that you want to set.
- */ - body: SetUserPasswordHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/setUserPassword'; + /** + * userId is the id of the user of which you want to change the password.
password is the new password that you want to set.
+ */ + body: SetUserPasswordHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/setUserPassword'; }; export type PostSetUserPasswordResponses = { - /** - * successful operation - */ - 200: SetUserPasswordHelperApiResponse; + /** + * successful operation + */ + 200: SetUserPasswordHelperApiResponse; }; export type PostSetUserPasswordResponse = PostSetUserPasswordResponses[keyof PostSetUserPasswordResponses]; export type PostUnassignAgentData = { - /** - * agentId is the id of the agent which you want to unassign.
- */ - body: UnassignAgentHelperApi; - path?: never; - query?: never; - url: '/api/v2/helper/unassignAgent'; + /** + * agentId is the id of the agent which you want to unassign.
+ */ + body: UnassignAgentHelperApi; + path?: never; + query?: never; + url: '/api/v2/helper/unassignAgent'; }; export type PostUnassignAgentResponses = { - /** - * successful operation - */ - 200: UnassignAgentHelperApiResponse; + /** + * successful operation + */ + 200: UnassignAgentHelperApiResponse; }; export type PostUnassignAgentResponse = PostUnassignAgentResponses[keyof PostUnassignAgentResponses]; export type PostTokenData = { - body: TokenRequest; - path?: never; - query?: never; - url: '/api/v2/auth/token'; + body: TokenRequest; + path?: never; + query?: never; + url: '/api/v2/auth/token'; }; export type PostTokenErrors = { - /** - * Authentication failed - */ - 401: ErrorResponse; - /** - * Not Found - */ - 404: NotFoundResponse; + /** + * Authentication failed + */ + 401: ErrorResponse; + /** + * Not Found + */ + 404: NotFoundResponse; }; export type PostTokenError = PostTokenErrors[keyof PostTokenErrors]; export type PostTokenResponses = { - /** - * Success - */ - 200: Token; + /** + * Success + */ + 200: Token; }; export type PostTokenResponse = PostTokenResponses[keyof PostTokenResponses]; diff --git a/src/generated/api/zod.gen.ts b/src/generated/api/zod.gen.ts index eea8a7a66..ba16541d5 100644 --- a/src/generated/api/zod.gen.ts +++ b/src/generated/api/zod.gen.ts @@ -3,303 +3,127 @@ import * as z from 'zod'; export const zErrorResponse = z.object({ - title: z.string().optional(), - type: z.string().optional(), - status: z.int() + title: z.string().optional(), + type: z.string().optional(), + status: z.int() }); export const zNotFoundResponse = z.object({ - message: z.string(), - exception: z.object({ - type: z.string().optional(), - code: z.int().optional(), - message: z.string().optional(), - file: z.string().optional(), - line: z.int().optional() - }).optional() + message: z.string(), + exception: z + .object({ + type: z.string().optional(), + code: z.int().optional(), + message: z.string().optional(), + file: z.string().optional(), + line: z.int().optional() + }) + .optional() }); export const zAccessGroupCreate = z.object({ - data: z.object({ - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) + data: z.object({ + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() }) + }) }); export const zAccessGroupPatch = z.object({ - data: z.object({ - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string().optional() - }) + data: z.object({ + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string().optional() }) + }) }); export const zAccessGroupResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) - }), - relationships: z.object({ - agentMembers: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/accessgroups/relationships/agentMembers'), - related: z.string().default('/api/v2/ui/accessgroups/agentMembers') - }), - data: z.array(z.object({ - type: z.literal('agent'), - id: z.int() - })).optional() - }), - userMembers: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/accessgroups/relationships/userMembers'), - related: z.string().default('/api/v2/ui/accessgroups/userMembers') - }), - data: z.array(z.object({ - type: z.literal('user'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), - type: z.literal('user'), - attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - }), z.object({ - id: z.int(), - type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - })])).optional() -}); - -export const zAccessGroupPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') }) -}); - -export const zAccessGroupListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) - })), - relationships: z.object({ - agentMembers: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/accessgroups/relationships/agentMembers'), - related: z.string().default('/api/v2/ui/accessgroups/agentMembers') - }), - data: z.array(z.object({ - type: z.literal('agent'), - id: z.int() - })).optional() - }), - userMembers: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/accessgroups/relationships/userMembers'), - related: z.string().default('/api/v2/ui/accessgroups/userMembers') - }), - data: z.array(z.object({ - type: z.literal('user'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), - type: z.literal('user'), - attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + relationships: z + .object({ + agentMembers: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/accessgroups/relationships/agentMembers'), + related: z.string().default('/api/v2/ui/accessgroups/agentMembers') + }), + data: z + .array( + z.object({ + type: z.literal('agent'), + id: z.int() }) - }), z.object({ - id: z.int(), - type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() + ) + .optional() + }), + userMembers: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/accessgroups/relationships/userMembers'), + related: z.string().default('/api/v2/ui/accessgroups/userMembers') + }), + data: z + .array( + z.object({ + type: z.literal('user'), + id: z.int() }) - })])).optional() -}); - -export const zAccessGroupRelationAgentMembers = z.object({ - data: z.array(z.object({ - type: z.literal('agentMembers'), - id: z.int().default(1) - })) -}); - -export const zAccessGroupRelationAgentMembersGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('agentMembers'), - id: z.int().default(1) - })) -}); - -export const zAgentPatch = z.object({ - data: z.object({ - type: z.literal('agent'), - attributes: z.object({ - agentName: z.string().optional(), - cmdPars: z.string().optional(), - cpuOnly: z.boolean().optional(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]).optional(), - isActive: z.boolean().optional(), - isTrusted: z.boolean().optional(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]).optional(), - uid: z.string().optional(), - userId: z.int().nullish() - }) + ) + .optional() + }) }) -}); - -export const zAgentResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agents?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('agent'), - attributes: z.object({ + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ agentName: z.string(), uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), devices: z.string(), cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), isActive: z.boolean(), isTrusted: z.boolean(), token: z.string(), @@ -309,225 +133,114 @@ export const zAgentResponse = z.object({ userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() + }) }) - }), - relationships: z.object({ - accessGroups: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/accessGroups'), - related: z.string().default('/api/v2/ui/agents/accessGroups') - }), - data: z.array(z.object({ - type: z.literal('accessGroup'), - id: z.int() - })).optional() - }), - agentErrors: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/agentErrors'), - related: z.string().default('/api/v2/ui/agents/agentErrors') - }), - data: z.array(z.object({ - type: z.literal('agentError'), - id: z.int() - })).optional() - }), - agentStats: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/agentStats'), - related: z.string().default('/api/v2/ui/agents/agentStats') - }), - data: z.array(z.object({ - type: z.literal('agentStat'), - id: z.int() - })).optional() - }), - assignments: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/assignments'), - related: z.string().default('/api/v2/ui/agents/assignments') - }), - data: z.array(z.object({ - type: z.literal('agentAssignment'), - id: z.int() - })).optional() - }), - chunks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/chunks'), - related: z.string().default('/api/v2/ui/agents/chunks') - }), - data: z.array(z.object({ - type: z.literal('chunk'), - id: z.int() - })).optional() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/tasks'), - related: z.string().default('/api/v2/ui/agents/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }), - user: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/user'), - related: z.string().default('/api/v2/ui/agents/user') - }), - data: z.object({ - type: z.literal('user'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([ - z.object({ - id: z.int(), - type: z.literal('user'), - attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - }), - z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) - }), - z.object({ - id: z.int(), - type: z.literal('agentStat'), - attributes: z.object({ - agentId: z.int(), - statType: z.union([ - z.literal(1), - z.literal(2), - z.literal(3) - ]), - time: z.number(), - value: z.array(z.int()) - }) + ]) + ) + .optional() +}); + +export const zAccessGroupPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }) +}); + +export const zAccessGroupListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/accessgroups?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/accessgroups?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }) + ), + relationships: z + .object({ + agentMembers: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/accessgroups/relationships/agentMembers'), + related: z.string().default('/api/v2/ui/accessgroups/agentMembers') }), - z.object({ - id: z.int(), - type: z.literal('agentError'), - attributes: z.object({ - agentId: z.int(), - taskId: z.int(), - chunkId: z.int(), - time: z.number(), - error: z.string() + data: z + .array( + z.object({ + type: z.literal('agent'), + id: z.int() }) + ) + .optional() + }), + userMembers: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/accessgroups/relationships/userMembers'), + related: z.string().default('/api/v2/ui/accessgroups/userMembers') }), - z.object({ - id: z.int(), - type: z.literal('chunk'), - attributes: z.object({ - taskId: z.int(), - skip: z.int(), - length: z.int(), - agentId: z.int(), - dispatchTime: z.number(), - solveTime: z.number(), - checkpoint: z.number(), - progress: z.int(), - state: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3), - z.literal(4), - z.literal(5), - z.literal(6), - z.literal(7), - z.literal(8), - z.literal(9), - z.literal(10) - ]), - cracked: z.int(), - speed: z.number() + data: z + .array( + z.object({ + type: z.literal('user'), + id: z.int() }) - }), + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) }), z.object({ - id: z.int(), - type: z.literal('agentAssignment'), - attributes: z.object({ - taskId: z.int(), - agentId: z.int(), - benchmark: z.string() - }) - }) - ])).optional() -}); - -export const zAgentPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('agent'), - attributes: z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ agentName: z.string(), uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), devices: z.string(), cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), isActive: z.boolean(), isTrusted: z.boolean(), token: z.string(), @@ -537,653 +250,709 @@ export const zAgentPostPatchResponse = z.object({ userId: z.int().nullable(), cpuOnly: z.boolean(), clientSignature: z.string() + }) }) + ]) + ) + .optional() +}); + +export const zAccessGroupRelationAgentMembers = z.object({ + data: z.array( + z.object({ + type: z.literal('agentMembers'), + id: z.int().default(1) }) + ) }); -export const zAgentListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agents?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - })), - relationships: z.object({ - accessGroups: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/accessGroups'), - related: z.string().default('/api/v2/ui/agents/accessGroups') - }), - data: z.array(z.object({ - type: z.literal('accessGroup'), - id: z.int() - })).optional() - }), - agentErrors: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/agentErrors'), - related: z.string().default('/api/v2/ui/agents/agentErrors') - }), - data: z.array(z.object({ - type: z.literal('agentError'), - id: z.int() - })).optional() - }), - agentStats: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/agentStats'), - related: z.string().default('/api/v2/ui/agents/agentStats') - }), - data: z.array(z.object({ - type: z.literal('agentStat'), - id: z.int() - })).optional() - }), - assignments: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/assignments'), - related: z.string().default('/api/v2/ui/agents/assignments') - }), - data: z.array(z.object({ - type: z.literal('agentAssignment'), - id: z.int() - })).optional() - }), - chunks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/chunks'), - related: z.string().default('/api/v2/ui/agents/chunks') - }), - data: z.array(z.object({ - type: z.literal('chunk'), - id: z.int() - })).optional() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/tasks'), - related: z.string().default('/api/v2/ui/agents/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }), - user: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agents/relationships/user'), - related: z.string().default('/api/v2/ui/agents/user') - }), - data: z.object({ - type: z.literal('user'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([ - z.object({ - id: z.int(), - type: z.literal('user'), - attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() +export const zAccessGroupRelationAgentMembersGetResponse = z.object({ + data: z.array( + z.object({ + type: z.literal('agentMembers'), + id: z.int().default(1) + }) + ) +}); + +export const zAgentPatch = z.object({ + data: z.object({ + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string().optional(), + cmdPars: z.string().optional(), + cpuOnly: z.boolean().optional(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]).optional(), + isActive: z.boolean().optional(), + isTrusted: z.boolean().optional(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]).optional(), + uid: z.string().optional(), + userId: z.int().nullish() + }) + }) +}); + +export const zAgentResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agents?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + relationships: z + .object({ + accessGroups: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/accessGroups'), + related: z.string().default('/api/v2/ui/agents/accessGroups') + }), + data: z + .array( + z.object({ + type: z.literal('accessGroup'), + id: z.int() }) + ) + .optional() + }), + agentErrors: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/agentErrors'), + related: z.string().default('/api/v2/ui/agents/agentErrors') }), - z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() + data: z + .array( + z.object({ + type: z.literal('agentError'), + id: z.int() }) + ) + .optional() + }), + agentStats: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/agentStats'), + related: z.string().default('/api/v2/ui/agents/agentStats') }), - z.object({ - id: z.int(), - type: z.literal('agentStat'), - attributes: z.object({ - agentId: z.int(), - statType: z.union([ - z.literal(1), - z.literal(2), - z.literal(3) - ]), - time: z.number(), - value: z.array(z.int()) + data: z + .array( + z.object({ + type: z.literal('agentStat'), + id: z.int() }) + ) + .optional() + }), + assignments: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/assignments'), + related: z.string().default('/api/v2/ui/agents/assignments') }), - z.object({ - id: z.int(), - type: z.literal('agentError'), - attributes: z.object({ - agentId: z.int(), - taskId: z.int(), - chunkId: z.int(), - time: z.number(), - error: z.string() + data: z + .array( + z.object({ + type: z.literal('agentAssignment'), + id: z.int() }) + ) + .optional() + }), + chunks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/chunks'), + related: z.string().default('/api/v2/ui/agents/chunks') }), - z.object({ - id: z.int(), - type: z.literal('chunk'), - attributes: z.object({ - taskId: z.int(), - skip: z.int(), - length: z.int(), - agentId: z.int(), - dispatchTime: z.number(), - solveTime: z.number(), - checkpoint: z.number(), - progress: z.int(), - state: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3), - z.literal(4), - z.literal(5), - z.literal(6), - z.literal(7), - z.literal(8), - z.literal(9), - z.literal(10) - ]), - cracked: z.int(), - speed: z.number() + data: z + .array( + z.object({ + type: z.literal('chunk'), + id: z.int() }) + ) + .optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/tasks'), + related: z.string().default('/api/v2/ui/agents/tasks') }), - z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() }) + ) + .optional() + }), + user: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/user'), + related: z.string().default('/api/v2/ui/agents/user') }), + data: z + .object({ + type: z.literal('user'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ z.object({ - id: z.int(), - type: z.literal('agentAssignment'), - attributes: z.object({ - taskId: z.int(), - agentId: z.int(), - benchmark: z.string() - }) - }) - ])).optional() -}); - -export const zAgentRelationAssignments = z.object({ - data: z.array(z.object({ - type: z.literal('assignments'), - id: z.int().default(1) - })) -}); - -export const zAgentRelationAssignmentsGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('assignments'), - id: z.int().default(1) - })) -}); - -export const zAgentAssignmentCreate = z.object({ - data: z.object({ - type: z.literal('agentAssignment'), - attributes: z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentStat'), + attributes: z.object({ + agentId: z.int(), + statType: z.union([z.literal(1), z.literal(2), z.literal(3)]), + time: z.number(), + value: z.array(z.int()) + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentError'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + chunkId: z.int(), + time: z.number(), + error: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), + cracked: z.int(), + speed: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentAssignment'), + attributes: z.object({ taskId: z.int(), agentId: z.int(), benchmark: z.string() + }) }) - }) + ]) + ) + .optional() }); -export const zAgentAssignmentPatch = z.object({ - data: z.object({ - type: z.literal('agentAssignment'), - attributes: z.object({ - benchmark: z.string().optional() - }) +export const zAgentPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() }) + }) }); -export const zAgentAssignmentResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('agentAssignment'), - attributes: z.object({ - taskId: z.int(), - agentId: z.int(), - benchmark: z.string() - }) - }), - relationships: z.object({ - agent: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agentassignments/relationships/agent'), - related: z.string().default('/api/v2/ui/agentassignments/agent') - }), - data: z.object({ - type: z.literal('agent'), - id: z.int() - }).nullish() - }), - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agentassignments/relationships/task'), - related: z.string().default('/api/v2/ui/agentassignments/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), - type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() +export const zAgentListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agents?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agents?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agents?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }) + ), + relationships: z + .object({ + accessGroups: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/accessGroups'), + related: z.string().default('/api/v2/ui/agents/accessGroups') + }), + data: z + .array( + z.object({ + type: z.literal('accessGroup'), + id: z.int() }) - }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() + ) + .optional() + }), + agentErrors: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/agentErrors'), + related: z.string().default('/api/v2/ui/agents/agentErrors') + }), + data: z + .array( + z.object({ + type: z.literal('agentError'), + id: z.int() }) - })])).optional() -}); - -export const zAgentAssignmentPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('agentAssignment'), - attributes: z.object({ + ) + .optional() + }), + agentStats: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/agentStats'), + related: z.string().default('/api/v2/ui/agents/agentStats') + }), + data: z + .array( + z.object({ + type: z.literal('agentStat'), + id: z.int() + }) + ) + .optional() + }), + assignments: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/assignments'), + related: z.string().default('/api/v2/ui/agents/assignments') + }), + data: z + .array( + z.object({ + type: z.literal('agentAssignment'), + id: z.int() + }) + ) + .optional() + }), + chunks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/chunks'), + related: z.string().default('/api/v2/ui/agents/chunks') + }), + data: z + .array( + z.object({ + type: z.literal('chunk'), + id: z.int() + }) + ) + .optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/tasks'), + related: z.string().default('/api/v2/ui/agents/tasks') + }), + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() + }) + ) + .optional() + }), + user: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agents/relationships/user'), + related: z.string().default('/api/v2/ui/agents/user') + }), + data: z + .object({ + type: z.literal('user'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentStat'), + attributes: z.object({ + agentId: z.int(), + statType: z.union([z.literal(1), z.literal(2), z.literal(3)]), + time: z.number(), + value: z.array(z.int()) + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentError'), + attributes: z.object({ + agentId: z.int(), taskId: z.int(), + chunkId: z.int(), + time: z.number(), + error: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), agentId: z.int(), - benchmark: z.string() - }) - }) -}); - -export const zAgentAssignmentListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('agentAssignment'), - attributes: z.object({ + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), + cracked: z.int(), + speed: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('agentAssignment'), + attributes: z.object({ taskId: z.int(), agentId: z.int(), benchmark: z.string() + }) }) - })), - relationships: z.object({ - agent: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agentassignments/relationships/agent'), - related: z.string().default('/api/v2/ui/agentassignments/agent') - }), - data: z.object({ - type: z.literal('agent'), - id: z.int() - }).nullish() - }), - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agentassignments/relationships/task'), - related: z.string().default('/api/v2/ui/agentassignments/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), - type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - })])).optional() + ]) + ) + .optional() }); -export const zAgentAssignmentRelationTask = z.object({ - data: z.object({ - type: z.literal('task'), - id: z.int().default(1) +export const zAgentRelationAssignments = z.object({ + data: z.array( + z.object({ + type: z.literal('assignments'), + id: z.int().default(1) }) + ) }); -export const zAgentAssignmentRelationTaskGetResponse = z.object({ - data: z.object({ - type: z.literal('task'), - id: z.int().default(1) +export const zAgentRelationAssignmentsGetResponse = z.object({ + data: z.array( + z.object({ + type: z.literal('assignments'), + id: z.int().default(1) }) + ) }); -export const zAgentBinaryCreate = z.object({ - data: z.object({ - type: z.literal('agentBinary'), - attributes: z.object({ - binaryType: z.string(), - version: z.string(), - operatingSystems: z.string(), - filename: z.string(), - updateTrack: z.string() - }) +export const zAgentAssignmentCreate = z.object({ + data: z.object({ + type: z.literal('agentAssignment'), + attributes: z.object({ + taskId: z.int(), + agentId: z.int(), + benchmark: z.string() }) + }) }); -export const zAgentBinaryPatch = z.object({ - data: z.object({ - type: z.literal('agentBinary'), - attributes: z.object({ - binaryType: z.string().optional(), - filename: z.string().optional(), - operatingSystems: z.string().optional(), - updateTrack: z.string().optional(), - version: z.string().optional() - }) +export const zAgentAssignmentPatch = z.object({ + data: z.object({ + type: z.literal('agentAssignment'), + attributes: z.object({ + benchmark: z.string().optional() }) + }) }); -export const zAgentBinaryResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('agentBinary'), - attributes: z.object({ - binaryType: z.string(), - version: z.string(), - operatingSystems: z.string(), - filename: z.string(), - updateTrack: z.string(), - updateAvailable: z.string() - }) - }), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() -}); - -export const zAgentBinaryPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('agentBinary'), - attributes: z.object({ - binaryType: z.string(), - version: z.string(), - operatingSystems: z.string(), - filename: z.string(), - updateTrack: z.string(), - updateAvailable: z.string() - }) +export const zAgentAssignmentResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') }) -}); - -export const zAgentBinaryListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('agentBinary'), - attributes: z.object({ - binaryType: z.string(), - version: z.string(), - operatingSystems: z.string(), - filename: z.string(), - updateTrack: z.string(), - updateAvailable: z.string() - }) - })), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() -}); - -export const zAgentErrorResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('agentError'), - attributes: z.object({ - agentId: z.int(), - taskId: z.int(), - chunkId: z.int(), - time: z.number(), - error: z.string() - }) - }), - relationships: z.object({ - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agenterrors/relationships/task'), - related: z.string().default('/api/v2/ui/agenterrors/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('agentAssignment'), + attributes: z.object({ + taskId: z.int(), + agentId: z.int(), + benchmark: z.string() + }) + }), + relationships: z + .object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agentassignments/relationships/agent'), + related: z.string().default('/api/v2/ui/agentassignments/agent') + }), + data: z + .object({ + type: z.literal('agent'), + id: z.int() + }) + .nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agentassignments/relationships/task'), + related: z.string().default('/api/v2/ui/agentassignments/task') + }), + data: z + .object({ + type: z.literal('task'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -1207,49 +976,110 @@ export const zAgentErrorResponse = z.object({ forcePipe: z.boolean(), preprocessorId: z.int(), preprocessorCommand: z.string() + }) }) - })).optional() + ]) + ) + .optional() }); -export const zAgentErrorListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('agentError'), - attributes: z.object({ - agentId: z.int(), - taskId: z.int(), - chunkId: z.int(), - time: z.number(), - error: z.string() - }) - })), - relationships: z.object({ - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/agenterrors/relationships/task'), - related: z.string().default('/api/v2/ui/agenterrors/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ +export const zAgentAssignmentPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('agentAssignment'), + attributes: z.object({ + taskId: z.int(), + agentId: z.int(), + benchmark: z.string() + }) + }) +}); + +export const zAgentAssignmentListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agentassignments?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentassignments?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('agentAssignment'), + attributes: z.object({ + taskId: z.int(), + agentId: z.int(), + benchmark: z.string() + }) + }) + ), + relationships: z + .object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agentassignments/relationships/agent'), + related: z.string().default('/api/v2/ui/agentassignments/agent') + }), + data: z + .object({ + type: z.literal('agent'), + id: z.int() + }) + .nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agentassignments/relationships/task'), + related: z.string().default('/api/v2/ui/agentassignments/task') + }), + data: z + .object({ + type: z.literal('task'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -1273,1713 +1103,2030 @@ export const zAgentErrorListResponse = z.object({ forcePipe: z.boolean(), preprocessorId: z.int(), preprocessorCommand: z.string() + }) }) - })).optional() + ]) + ) + .optional() }); -export const zAgentErrorRelationTask = z.object({ - data: z.object({ - type: z.literal('task'), - id: z.int().default(1) +export const zAgentAssignmentRelationTask = z.object({ + data: z.object({ + type: z.literal('task'), + id: z.int().default(1) + }) +}); + +export const zAgentAssignmentRelationTaskGetResponse = z.object({ + data: z.object({ + type: z.literal('task'), + id: z.int().default(1) + }) +}); + +export const zAgentBinaryCreate = z.object({ + data: z.object({ + type: z.literal('agentBinary'), + attributes: z.object({ + binaryType: z.string(), + version: z.string(), + operatingSystems: z.string(), + filename: z.string(), + updateTrack: z.string() }) + }) }); -export const zAgentErrorRelationTaskGetResponse = z.object({ - data: z.object({ - type: z.literal('task'), - id: z.int().default(1) +export const zAgentBinaryPatch = z.object({ + data: z.object({ + type: z.literal('agentBinary'), + attributes: z.object({ + binaryType: z.string().optional(), + filename: z.string().optional(), + operatingSystems: z.string().optional(), + updateTrack: z.string().optional(), + version: z.string().optional() }) + }) }); -export const zAgentStatResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('agentStat'), - attributes: z.object({ - agentId: z.int(), - statType: z.union([ - z.literal(1), - z.literal(2), - z.literal(3) - ]), - time: z.number(), - value: z.array(z.int()) - }) - }), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() +export const zAgentBinaryResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('agentBinary'), + attributes: z.object({ + binaryType: z.string(), + version: z.string(), + operatingSystems: z.string(), + filename: z.string(), + updateTrack: z.string(), + updateAvailable: z.string() + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); -export const zAgentStatListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('agentStat'), - attributes: z.object({ - agentId: z.int(), - statType: z.union([ - z.literal(1), - z.literal(2), - z.literal(3) - ]), - time: z.number(), - value: z.array(z.int()) - }) - })), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() +export const zAgentBinaryPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('agentBinary'), + attributes: z.object({ + binaryType: z.string(), + version: z.string(), + operatingSystems: z.string(), + filename: z.string(), + updateTrack: z.string(), + updateAvailable: z.string() + }) + }) }); -export const zApiTokenCreate = z.object({ - data: z.object({ - type: z.literal('apiToken'), +export const zAgentBinaryListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agentbinaries?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentbinaries?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('agentBinary'), + attributes: z.object({ + binaryType: z.string(), + version: z.string(), + operatingSystems: z.string(), + filename: z.string(), + updateTrack: z.string(), + updateAvailable: z.string() + }) + }) + ), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() +}); + +export const zAgentErrorResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('agentError'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + chunkId: z.int(), + time: z.number(), + error: z.string() + }) + }), + relationships: z + .object({ + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agenterrors/relationships/task'), + related: z.string().default('/api/v2/ui/agenterrors/task') + }), + data: z + .object({ + type: z.literal('task'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ + id: z.int(), + type: z.literal('task'), attributes: z.object({ - scopes: z.array(z.int()), - startValid: z.number(), - endValid: z.number(), - userId: z.int(), - isRevoked: z.boolean() - }) + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ) + .optional() +}); + +export const zAgentErrorListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agenterrors?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agenterrors?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('agentError'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + chunkId: z.int(), + time: z.number(), + error: z.string() + }) + }) + ), + relationships: z + .object({ + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/agenterrors/relationships/task'), + related: z.string().default('/api/v2/ui/agenterrors/task') + }), + data: z + .object({ + type: z.literal('task'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ) + .optional() +}); + +export const zAgentErrorRelationTask = z.object({ + data: z.object({ + type: z.literal('task'), + id: z.int().default(1) + }) +}); + +export const zAgentErrorRelationTaskGetResponse = z.object({ + data: z.object({ + type: z.literal('task'), + id: z.int().default(1) + }) +}); + +export const zAgentStatResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('agentStat'), + attributes: z.object({ + agentId: z.int(), + statType: z.union([z.literal(1), z.literal(2), z.literal(3)]), + time: z.number(), + value: z.array(z.int()) + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() +}); + +export const zAgentStatListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/agentstats?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/agentstats?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/agentstats?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('agentStat'), + attributes: z.object({ + agentId: z.int(), + statType: z.union([z.literal(1), z.literal(2), z.literal(3)]), + time: z.number(), + value: z.array(z.int()) + }) + }) + ), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() +}); + +export const zApiTokenCreate = z.object({ + data: z.object({ + type: z.literal('apiToken'), + attributes: z.object({ + scopes: z.array(z.int()), + startValid: z.number(), + endValid: z.number(), + userId: z.int(), + isRevoked: z.boolean() }) + }) }); export const zApiTokenPatch = z.object({ - data: z.object({ - type: z.literal('apiToken'), - attributes: z.object({ - isRevoked: z.boolean().optional() - }) + data: z.object({ + type: z.literal('apiToken'), + attributes: z.object({ + isRevoked: z.boolean().optional() }) + }) }); export const zApiTokenResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('apiToken'), - attributes: z.object({ - startValid: z.number(), - endValid: z.number(), - userId: z.int(), - isRevoked: z.boolean(), - token: z.string() - }) - }), - relationships: z.object({ - user: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/apiTokens/relationships/user'), - related: z.string().default('/api/v2/ui/apiTokens/user') - }), - data: z.object({ - type: z.literal('user'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('apiToken'), + attributes: z.object({ + startValid: z.number(), + endValid: z.number(), + userId: z.int(), + isRevoked: z.boolean(), + token: z.string() + }) + }), + relationships: z + .object({ + user: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/apiTokens/relationships/user'), + related: z.string().default('/api/v2/ui/apiTokens/user') + }), + data: z + .object({ + type: z.literal('user'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('user'), attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - })).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }) + ) + .optional() }); export const zApiTokenPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('apiToken'), - attributes: z.object({ - startValid: z.number(), - endValid: z.number(), - userId: z.int(), - isRevoked: z.boolean(), - token: z.string() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('apiToken'), + attributes: z.object({ + startValid: z.number(), + endValid: z.number(), + userId: z.int(), + isRevoked: z.boolean(), + token: z.string() }) + }) }); export const zApiTokenListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('apiToken'), - attributes: z.object({ - startValid: z.number(), - endValid: z.number(), - userId: z.int(), - isRevoked: z.boolean(), - token: z.string() - }) - })), - relationships: z.object({ - user: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/apiTokens/relationships/user'), - related: z.string().default('/api/v2/ui/apiTokens/user') - }), - data: z.object({ - type: z.literal('user'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/apiTokens?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/apiTokens?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('apiToken'), + attributes: z.object({ + startValid: z.number(), + endValid: z.number(), + userId: z.int(), + isRevoked: z.boolean(), + token: z.string() + }) + }) + ), + relationships: z + .object({ + user: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/apiTokens/relationships/user'), + related: z.string().default('/api/v2/ui/apiTokens/user') + }), + data: z + .object({ + type: z.literal('user'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('user'), attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - })).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }) + ) + .optional() }); export const zApiTokenRelationUser = z.object({ - data: z.object({ - type: z.literal('user'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('user'), + id: z.int().default(1) + }) }); export const zApiTokenRelationUserGetResponse = z.object({ - data: z.object({ - type: z.literal('user'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('user'), + id: z.int().default(1) + }) }); export const zChunkResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/chunks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('chunk'), - attributes: z.object({ - taskId: z.int(), - skip: z.int(), - length: z.int(), - agentId: z.int(), - dispatchTime: z.number(), - solveTime: z.number(), - checkpoint: z.number(), - progress: z.int(), - state: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3), - z.literal(4), - z.literal(5), - z.literal(6), - z.literal(7), - z.literal(8), - z.literal(9), - z.literal(10) - ]), - cracked: z.int(), - speed: z.number() - }) - }), - relationships: z.object({ - agent: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/chunks/relationships/agent'), - related: z.string().default('/api/v2/ui/chunks/agent') - }), - data: z.object({ - type: z.literal('agent'), - id: z.int() - }).nullish() - }), - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/chunks/relationships/task'), - related: z.string().default('/api/v2/ui/chunks/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/chunks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), + cracked: z.int(), + speed: z.number() + }) + }), + relationships: z + .object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/chunks/relationships/agent'), + related: z.string().default('/api/v2/ui/chunks/agent') + }), + data: z + .object({ type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - }), z.object({ - id: z.int(), + id: z.int() + }) + .nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/chunks/relationships/task'), + related: z.string().default('/api/v2/ui/chunks/task') + }), + data: z + .object({ type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - })])).optional() + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ]) + ) + .optional() }); export const zChunkListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/chunks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('chunk'), - attributes: z.object({ - taskId: z.int(), - skip: z.int(), - length: z.int(), - agentId: z.int(), - dispatchTime: z.number(), - solveTime: z.number(), - checkpoint: z.number(), - progress: z.int(), - state: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3), - z.literal(4), - z.literal(5), - z.literal(6), - z.literal(7), - z.literal(8), - z.literal(9), - z.literal(10) - ]), - cracked: z.int(), - speed: z.number() - }) - })), - relationships: z.object({ - agent: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/chunks/relationships/agent'), - related: z.string().default('/api/v2/ui/chunks/agent') - }), - data: z.object({ - type: z.literal('agent'), - id: z.int() - }).nullish() - }), - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/chunks/relationships/task'), - related: z.string().default('/api/v2/ui/chunks/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/chunks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/chunks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/chunks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) + ]), + cracked: z.int(), + speed: z.number() + }) + }) + ), + relationships: z + .object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/chunks/relationships/agent'), + related: z.string().default('/api/v2/ui/chunks/agent') + }), + data: z + .object({ type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - }), z.object({ - id: z.int(), + id: z.int() + }) + .nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/chunks/relationships/task'), + related: z.string().default('/api/v2/ui/chunks/task') + }), + data: z + .object({ type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - })])).optional() + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ]) + ) + .optional() }); export const zChunkRelationTask = z.object({ - data: z.object({ - type: z.literal('task'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zChunkRelationTaskGetResponse = z.object({ - data: z.object({ - type: z.literal('task'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zConfigPatch = z.object({ - data: z.object({ - type: z.literal('config'), - attributes: z.object({ - item: z.string().optional(), - value: z.string().optional() - }) + data: z.object({ + type: z.literal('config'), + attributes: z.object({ + item: z.string().optional(), + value: z.string().optional() }) + }) }); export const zConfigResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/configs?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('config'), - attributes: z.object({ - configSectionId: z.int(), - item: z.string(), - value: z.string() - }) - }), - relationships: z.object({ - configSection: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/configs/relationships/configSection'), - related: z.string().default('/api/v2/ui/configs/configSection') - }), - data: z.object({ - type: z.literal('configSection'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/configs?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('config'), + attributes: z.object({ + configSectionId: z.int(), + item: z.string(), + value: z.string() + }) + }), + relationships: z + .object({ + configSection: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/configs/relationships/configSection'), + related: z.string().default('/api/v2/ui/configs/configSection') + }), + data: z + .object({ + type: z.literal('configSection'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('configSection'), attributes: z.object({ - sectionName: z.string() + sectionName: z.string() }) - })).optional() + }) + ) + .optional() }); export const zConfigPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('config'), - attributes: z.object({ - configSectionId: z.int(), - item: z.string(), - value: z.string() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('config'), + attributes: z.object({ + configSectionId: z.int(), + item: z.string(), + value: z.string() }) + }) }); export const zConfigListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/configs?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/configs?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/configs?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/configs?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('config'), + attributes: z.object({ + configSectionId: z.int(), + item: z.string(), + value: z.string() + }) + }) + ), + relationships: z + .object({ + configSection: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/configs/relationships/configSection'), + related: z.string().default('/api/v2/ui/configs/configSection') + }), + data: z + .object({ + type: z.literal('configSection'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), - type: z.literal('config'), + type: z.literal('configSection'), attributes: z.object({ - configSectionId: z.int(), - item: z.string(), - value: z.string() + sectionName: z.string() }) - })), - relationships: z.object({ - configSection: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/configs/relationships/configSection'), - related: z.string().default('/api/v2/ui/configs/configSection') - }), - data: z.object({ - type: z.literal('configSection'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ - id: z.int(), - type: z.literal('configSection'), - attributes: z.object({ - sectionName: z.string() - }) - })).optional() + }) + ) + .optional() }); export const zConfigRelationConfigSection = z.object({ - data: z.object({ - type: z.literal('configSection'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('configSection'), + id: z.int().default(1) + }) }); export const zConfigRelationConfigSectionGetResponse = z.object({ - data: z.object({ - type: z.literal('configSection'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('configSection'), + id: z.int().default(1) + }) }); export const zConfigSectionResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/configsections?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('configSection'), - attributes: z.object({ - sectionName: z.string() - }) - }), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/configsections?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('configSection'), + attributes: z.object({ + sectionName: z.string() + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zConfigSectionListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/configsections?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('configSection'), - attributes: z.object({ - sectionName: z.string() - }) - })), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/configsections?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/configsections?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/configsections?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('configSection'), + attributes: z.object({ + sectionName: z.string() + }) + }) + ), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zCrackerBinaryCreate = z.object({ - data: z.object({ - type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() - }) + data: z.object({ + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() }) + }) }); export const zCrackerBinaryPatch = z.object({ - data: z.object({ - type: z.literal('crackerBinary'), - attributes: z.object({ - binaryName: z.string().optional(), - downloadUrl: z.string().optional(), - version: z.string().optional() - }) + data: z.object({ + type: z.literal('crackerBinary'), + attributes: z.object({ + binaryName: z.string().optional(), + downloadUrl: z.string().optional(), + version: z.string().optional() }) + }) }); export const zCrackerBinaryResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/crackers?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() - }) - }), - relationships: z.object({ - crackerBinaryType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/crackers/relationships/crackerBinaryType'), - related: z.string().default('/api/v2/ui/crackers/crackerBinaryType') - }), - data: z.object({ - type: z.literal('crackerBinaryType'), - id: z.int() - }).nullish() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/crackers/relationships/tasks'), - related: z.string().default('/api/v2/ui/crackers/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/crackers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), + relationships: z + .object({ + crackerBinaryType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackers/relationships/crackerBinaryType'), + related: z.string().default('/api/v2/ui/crackers/crackerBinaryType') + }), + data: z + .object({ type: z.literal('crackerBinaryType'), - attributes: z.object({ - typeName: z.string(), - isChunkingAvailable: z.boolean() - }) - }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() + id: z.int() + }) + .nullish() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackers/relationships/tasks'), + related: z.string().default('/api/v2/ui/crackers/tasks') + }), + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() }) - })])).optional() + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ]) + ) + .optional() }); export const zCrackerBinaryPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() }) + }) }); export const zCrackerBinaryListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/crackers?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() - }) - })), - relationships: z.object({ - crackerBinaryType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/crackers/relationships/crackerBinaryType'), - related: z.string().default('/api/v2/ui/crackers/crackerBinaryType') - }), - data: z.object({ - type: z.literal('crackerBinaryType'), - id: z.int() - }).nullish() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/crackers/relationships/tasks'), - related: z.string().default('/api/v2/ui/crackers/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/crackers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/crackers?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/crackers?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }) + ), + relationships: z + .object({ + crackerBinaryType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackers/relationships/crackerBinaryType'), + related: z.string().default('/api/v2/ui/crackers/crackerBinaryType') + }), + data: z + .object({ type: z.literal('crackerBinaryType'), - attributes: z.object({ - typeName: z.string(), - isChunkingAvailable: z.boolean() - }) - }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() + id: z.int() + }) + .nullish() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackers/relationships/tasks'), + related: z.string().default('/api/v2/ui/crackers/tasks') + }), + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() }) - })])).optional() + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ]) + ) + .optional() }); export const zCrackerBinaryRelationTasks = z.object({ - data: z.array(z.object({ - type: z.literal('tasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('tasks'), + id: z.int().default(1) + }) + ) }); export const zCrackerBinaryRelationTasksGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('tasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('tasks'), + id: z.int().default(1) + }) + ) }); export const zCrackerBinaryTypeCreate = z.object({ - data: z.object({ - type: z.literal('crackerBinaryType'), - attributes: z.object({ - typeName: z.string() - }) + data: z.object({ + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string() }) + }) }); export const zCrackerBinaryTypePatch = z.object({ - data: z.object({ - type: z.literal('crackerBinaryType'), - attributes: z.object({ - isChunkingAvailable: z.boolean().optional(), - typeName: z.string().optional() - }) + data: z.object({ + type: z.literal('crackerBinaryType'), + attributes: z.object({ + isChunkingAvailable: z.boolean().optional(), + typeName: z.string().optional() }) + }) }); export const zCrackerBinaryTypeResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('crackerBinaryType'), - attributes: z.object({ - typeName: z.string(), - isChunkingAvailable: z.boolean() - }) - }), - relationships: z.object({ - crackerVersions: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/crackertypes/relationships/crackerVersions'), - related: z.string().default('/api/v2/ui/crackertypes/crackerVersions') - }), - data: z.array(z.object({ - type: z.literal('crackerBinary'), - id: z.int() - })).optional() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/crackertypes/relationships/tasks'), - related: z.string().default('/api/v2/ui/crackertypes/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), - type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), + relationships: z + .object({ + crackerVersions: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackertypes/relationships/crackerVersions'), + related: z.string().default('/api/v2/ui/crackertypes/crackerVersions') + }), + data: z + .array( + z.object({ + type: z.literal('crackerBinary'), + id: z.int() }) - }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() + ) + .optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackertypes/relationships/tasks'), + related: z.string().default('/api/v2/ui/crackertypes/tasks') + }), + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() }) - })])).optional() + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ]) + ) + .optional() }); export const zCrackerBinaryTypePostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('crackerBinaryType'), - attributes: z.object({ - typeName: z.string(), - isChunkingAvailable: z.boolean() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() }) + }) }); export const zCrackerBinaryTypeListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('crackerBinaryType'), - attributes: z.object({ - typeName: z.string(), - isChunkingAvailable: z.boolean() - }) - })), - relationships: z.object({ - crackerVersions: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/crackertypes/relationships/crackerVersions'), - related: z.string().default('/api/v2/ui/crackertypes/crackerVersions') - }), - data: z.array(z.object({ - type: z.literal('crackerBinary'), - id: z.int() - })).optional() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/crackertypes/relationships/tasks'), - related: z.string().default('/api/v2/ui/crackertypes/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), - type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/crackertypes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/crackertypes?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }) + ), + relationships: z + .object({ + crackerVersions: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackertypes/relationships/crackerVersions'), + related: z.string().default('/api/v2/ui/crackertypes/crackerVersions') + }), + data: z + .array( + z.object({ + type: z.literal('crackerBinary'), + id: z.int() }) - }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() + ) + .optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/crackertypes/relationships/tasks'), + related: z.string().default('/api/v2/ui/crackertypes/tasks') + }), + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() }) - })])).optional() + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ]) + ) + .optional() }); export const zCrackerBinaryTypeRelationTasks = z.object({ - data: z.array(z.object({ - type: z.literal('tasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('tasks'), + id: z.int().default(1) + }) + ) }); export const zCrackerBinaryTypeRelationTasksGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('tasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('tasks'), + id: z.int().default(1) + }) + ) }); export const zFileCreate = z.object({ - data: z.object({ - type: z.literal('file'), - attributes: z.object({ - sourceType: z.string(), - sourceData: z.string(), - filename: z.string(), - isSecret: z.boolean(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]), - accessGroupId: z.int() - }) + data: z.object({ + type: z.literal('file'), + attributes: z.object({ + sourceType: z.string(), + sourceData: z.string(), + filename: z.string(), + isSecret: z.boolean(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]), + accessGroupId: z.int() }) + }) }); export const zFilePatch = z.object({ - data: z.object({ - type: z.literal('file'), - attributes: z.object({ - accessGroupId: z.int().optional(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]).optional(), - filename: z.string().optional(), - isSecret: z.boolean().optional() - }) + data: z.object({ + type: z.literal('file'), + attributes: z.object({ + accessGroupId: z.int().optional(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]).optional(), + filename: z.string().optional(), + isSecret: z.boolean().optional() }) + }) }); export const zFileResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/files?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('file'), - attributes: z.object({ - filename: z.string(), - size: z.number(), - isSecret: z.boolean(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]), - accessGroupId: z.int(), - lineCount: z.number() - }) - }), - relationships: z.object({ - accessGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/files/relationships/accessGroup'), - related: z.string().default('/api/v2/ui/files/accessGroup') - }), - data: z.object({ - type: z.literal('accessGroup'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/files?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('file'), + attributes: z.object({ + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]), + accessGroupId: z.int(), + lineCount: z.number() + }) + }), + relationships: z + .object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/files/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/files/accessGroup') + }), + data: z + .object({ + type: z.literal('accessGroup'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('accessGroup'), attributes: z.object({ - groupName: z.string() + groupName: z.string() }) - })).optional() + }) + ) + .optional() }); export const zFileSingleResponse = z.object({ - data: z.object({ + data: z.object({ + id: z.int(), + type: z.literal('file'), + attributes: z.object({ + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]), + accessGroupId: z.int(), + lineCount: z.number() + }) + }), + relationships: z + .object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/files/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/files/accessGroup') + }), + data: z + .object({ + type: z.literal('accessGroup'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), - type: z.literal('file'), + type: z.literal('accessGroup'), attributes: z.object({ - filename: z.string(), - size: z.number(), - isSecret: z.boolean(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]), - accessGroupId: z.int(), - lineCount: z.number() - }) - }), - relationships: z.object({ - accessGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/files/relationships/accessGroup'), - related: z.string().default('/api/v2/ui/files/accessGroup') - }), - data: z.object({ - type: z.literal('accessGroup'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() + groupName: z.string() }) - })).optional() + }) + ) + .optional() }); export const zFilePostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('file'), - attributes: z.object({ - filename: z.string(), - size: z.number(), - isSecret: z.boolean(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]), - accessGroupId: z.int(), - lineCount: z.number() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('file'), + attributes: z.object({ + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]), + accessGroupId: z.int(), + lineCount: z.number() }) + }) }); export const zFileListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/files?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('file'), - attributes: z.object({ - filename: z.string(), - size: z.number(), - isSecret: z.boolean(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]), - accessGroupId: z.int(), - lineCount: z.number() - }) - })), - relationships: z.object({ - accessGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/files/relationships/accessGroup'), - related: z.string().default('/api/v2/ui/files/accessGroup') - }), - data: z.object({ - type: z.literal('accessGroup'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/files?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/files?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/files?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('file'), + attributes: z.object({ + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]), + accessGroupId: z.int(), + lineCount: z.number() + }) + }) + ), + relationships: z + .object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/files/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/files/accessGroup') + }), + data: z + .object({ + type: z.literal('accessGroup'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('accessGroup'), attributes: z.object({ - groupName: z.string() + groupName: z.string() }) - })).optional() + }) + ) + .optional() }); export const zFileRelationAccessGroup = z.object({ - data: z.object({ - type: z.literal('accessGroup'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('accessGroup'), + id: z.int().default(1) + }) }); export const zFileRelationAccessGroupGetResponse = z.object({ - data: z.object({ - type: z.literal('accessGroup'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('accessGroup'), + id: z.int().default(1) + }) }); export const zGlobalPermissionGroupCreate = z.object({ - data: z.object({ - type: z.literal('globalPermissionGroup'), - attributes: z.object({ - name: z.string(), - permissions: z.record(z.string(), z.boolean()) - }) + data: z.object({ + type: z.literal('globalPermissionGroup'), + attributes: z.object({ + name: z.string(), + permissions: z.record(z.string(), z.boolean()) }) + }) }); export const zGlobalPermissionGroupPatch = z.object({ - data: z.object({ - type: z.literal('globalPermissionGroup'), - attributes: z.object({ - name: z.string().optional(), - permissions: z.record(z.string(), z.boolean()).optional() - }) + data: z.object({ + type: z.literal('globalPermissionGroup'), + attributes: z.object({ + name: z.string().optional(), + permissions: z.record(z.string(), z.boolean()).optional() }) + }) }); export const zGlobalPermissionGroupResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('globalPermissionGroup'), - attributes: z.object({ - name: z.string(), - permissions: z.record(z.string(), z.boolean()) - }) - }), - relationships: z.object({ - userMembers: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/globalpermissiongroups/relationships/userMembers'), - related: z.string().default('/api/v2/ui/globalpermissiongroups/userMembers') - }), - data: z.array(z.object({ - type: z.literal('user'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('globalPermissionGroup'), + attributes: z.object({ + name: z.string(), + permissions: z.record(z.string(), z.boolean()) + }) + }), + relationships: z + .object({ + userMembers: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/globalpermissiongroups/relationships/userMembers'), + related: z.string().default('/api/v2/ui/globalpermissiongroups/userMembers') + }), + data: z + .array( + z.object({ + type: z.literal('user'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('user'), attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - })).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }) + ) + .optional() }); export const zGlobalPermissionGroupPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('globalPermissionGroup'), - attributes: z.object({ - name: z.string(), - permissions: z.record(z.string(), z.boolean()) - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('globalPermissionGroup'), + attributes: z.object({ + name: z.string(), + permissions: z.record(z.string(), z.boolean()) }) + }) }); export const zGlobalPermissionGroupListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('globalPermissionGroup'), - attributes: z.object({ - name: z.string(), - permissions: z.record(z.string(), z.boolean()) - }) - })), - relationships: z.object({ - userMembers: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/globalpermissiongroups/relationships/userMembers'), - related: z.string().default('/api/v2/ui/globalpermissiongroups/userMembers') - }), - data: z.array(z.object({ - type: z.literal('user'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/globalpermissiongroups?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/globalpermissiongroups?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('globalPermissionGroup'), + attributes: z.object({ + name: z.string(), + permissions: z.record(z.string(), z.boolean()) + }) + }) + ), + relationships: z + .object({ + userMembers: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/globalpermissiongroups/relationships/userMembers'), + related: z.string().default('/api/v2/ui/globalpermissiongroups/userMembers') + }), + data: z + .array( + z.object({ + type: z.literal('user'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('user'), attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - })).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }) + ) + .optional() }); export const zGlobalPermissionGroupRelationUserMembers = z.object({ - data: z.array(z.object({ - type: z.literal('userMembers'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('userMembers'), + id: z.int().default(1) + }) + ) }); export const zGlobalPermissionGroupRelationUserMembersGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('userMembers'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('userMembers'), + id: z.int().default(1) + }) + ) }); export const zHashResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/hashes?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('hash'), - attributes: z.object({ - hashlistId: z.int(), - hash: z.string(), - salt: z.string(), - plaintext: z.string(), - timeCracked: z.number(), - chunkId: z.int(), - isCracked: z.boolean(), - crackPos: z.number() - }) - }), - relationships: z.object({ - chunk: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashes/relationships/chunk'), - related: z.string().default('/api/v2/ui/hashes/chunk') - }), - data: z.object({ - type: z.literal('chunk'), - id: z.int() - }).nullish() - }), - hashlist: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashes/relationships/hashlist'), - related: z.string().default('/api/v2/ui/hashes/hashlist') - }), - data: z.object({ - type: z.literal('hashlist'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), - type: z.literal('chunk'), - attributes: z.object({ - taskId: z.int(), - skip: z.int(), - length: z.int(), - agentId: z.int(), - dispatchTime: z.number(), - solveTime: z.number(), - checkpoint: z.number(), - progress: z.int(), - state: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3), - z.literal(4), - z.literal(5), - z.literal(6), - z.literal(7), - z.literal(8), - z.literal(9), - z.literal(10) - ]), - cracked: z.int(), - speed: z.number() - }) - }), z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() - }) - })])).optional() -}); - -export const zHashListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/hashes?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('hash'), - attributes: z.object({ - hashlistId: z.int(), - hash: z.string(), - salt: z.string(), - plaintext: z.string(), - timeCracked: z.number(), - chunkId: z.int(), - isCracked: z.boolean(), - crackPos: z.number() - }) - })), - relationships: z.object({ - chunk: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashes/relationships/chunk'), - related: z.string().default('/api/v2/ui/hashes/chunk') - }), - data: z.object({ - type: z.literal('chunk'), - id: z.int() - }).nullish() - }), - hashlist: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashes/relationships/hashlist'), - related: z.string().default('/api/v2/ui/hashes/hashlist') - }), - data: z.object({ - type: z.literal('hashlist'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/hashes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('hash'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) + }), + relationships: z + .object({ + chunk: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashes/relationships/chunk'), + related: z.string().default('/api/v2/ui/hashes/chunk') + }), + data: z + .object({ type: z.literal('chunk'), - attributes: z.object({ - taskId: z.int(), - skip: z.int(), - length: z.int(), - agentId: z.int(), - dispatchTime: z.number(), - solveTime: z.number(), - checkpoint: z.number(), - progress: z.int(), - state: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3), - z.literal(4), - z.literal(5), - z.literal(6), - z.literal(7), - z.literal(8), - z.literal(9), - z.literal(10) - ]), - cracked: z.int(), - speed: z.number() - }) - }), z.object({ - id: z.int(), + id: z.int() + }) + .nullish() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashes/relationships/hashlist'), + related: z.string().default('/api/v2/ui/hashes/hashlist') + }), + data: z + .object({ type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() - }) - })])).optional() -}); - -export const zHashRelationHashlist = z.object({ - data: z.object({ - type: z.literal('hashlist'), - id: z.int().default(1) - }) -}); - -export const zHashRelationHashlistGetResponse = z.object({ - data: z.object({ - type: z.literal('hashlist'), - id: z.int().default(1) + id: z.int() + }) + .nullish() + }) }) -}); - -export const zHashlistCreate = z.object({ - data: z.object({ - type: z.literal('hashlist'), - attributes: z.object({ - hashlistSeperator: z.string().nullish(), - sourceType: z.string(), - sourceData: z.string(), - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) ]), + cracked: z.int(), + speed: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), hashTypeId: z.int(), hashCount: z.int(), - separator: z.string().nullish(), + separator: z.string().nullable(), + cracked: z.int(), isSecret: z.boolean(), isHexSalt: z.boolean(), isSalted: z.boolean(), @@ -2988,46 +3135,109 @@ export const zHashlistCreate = z.object({ useBrain: z.boolean(), brainFeatures: z.int(), isArchived: z.boolean() + }) }) - }) + ]) + ) + .optional() }); -export const zHashlistPatch = z.object({ - data: z.object({ - type: z.literal('hashlist'), - attributes: z.object({ - accessGroupId: z.int().optional(), - isArchived: z.boolean().optional(), - isSecret: z.boolean().optional(), - name: z.string().optional(), - notes: z.string().optional() - }) +export const zHashListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/hashes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashes?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashes?page[size]=25&page[before]=25') }) -}); - -export const zHashlistResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('hash'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) + }) + ), + relationships: z + .object({ + chunk: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashes/relationships/chunk'), + related: z.string().default('/api/v2/ui/hashes/chunk') + }), + data: z + .object({ + type: z.literal('chunk'), + id: z.int() + }) + .nullish() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashes/relationships/hashlist'), + related: z.string().default('/api/v2/ui/hashes/hashlist') + }), + data: z + .object({ + type: z.literal('hashlist'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('chunk'), + attributes: z.object({ + taskId: z.int(), + skip: z.int(), + length: z.int(), + agentId: z.int(), + dispatchTime: z.number(), + solveTime: z.number(), + checkpoint: z.number(), + progress: z.int(), + state: z.union([ + z.literal(0), + z.literal(1), + z.literal(2), + z.literal(3), + z.literal(4), + z.literal(5), + z.literal(6), + z.literal(7), + z.literal(8), + z.literal(9), + z.literal(10) ]), + cracked: z.int(), + speed: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), hashTypeId: z.int(), hashCount: z.int(), separator: z.string().nullable(), @@ -3040,330 +3250,207 @@ export const zHashlistResponse = z.object({ useBrain: z.boolean(), brainFeatures: z.int(), isArchived: z.boolean() + }) }) - }), - relationships: z.object({ - accessGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/accessGroup'), - related: z.string().default('/api/v2/ui/hashlists/accessGroup') - }), - data: z.object({ - type: z.literal('accessGroup'), - id: z.int() - }).nullish() - }), - hashType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/hashType'), - related: z.string().default('/api/v2/ui/hashlists/hashType') - }), - data: z.object({ - type: z.literal('hashType'), - id: z.int() - }).nullish() - }), - hashes: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/hashes'), - related: z.string().default('/api/v2/ui/hashlists/hashes') - }), - data: z.array(z.object({ - type: z.literal('hash'), - id: z.int() - })).optional() - }), - hashlists: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/hashlists'), - related: z.string().default('/api/v2/ui/hashlists/hashlists') - }), - data: z.array(z.object({ - type: z.literal('hashlist'), - id: z.int() - })).optional() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/tasks'), - related: z.string().default('/api/v2/ui/hashlists/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ - z.object({ - id: z.int(), + ]) + ) + .optional() +}); + +export const zHashRelationHashlist = z.object({ + data: z.object({ + type: z.literal('hashlist'), + id: z.int().default(1) + }) +}); + +export const zHashRelationHashlistGetResponse = z.object({ + data: z.object({ + type: z.literal('hashlist'), + id: z.int().default(1) + }) +}); + +export const zHashlistCreate = z.object({ + data: z.object({ + type: z.literal('hashlist'), + attributes: z.object({ + hashlistSeperator: z.string().nullish(), + sourceType: z.string(), + sourceData: z.string(), + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullish(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }) +}); + +export const zHashlistPatch = z.object({ + data: z.object({ + type: z.literal('hashlist'), + attributes: z.object({ + accessGroupId: z.int().optional(), + isArchived: z.boolean().optional(), + isSecret: z.boolean().optional(), + name: z.string().optional(), + notes: z.string().optional() + }) + }) +}); + +export const zHashlistResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + relationships: z + .object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/hashlists/accessGroup') + }), + data: z + .object({ type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) + id: z.int() + }) + .nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashType'), + related: z.string().default('/api/v2/ui/hashlists/hashType') }), - z.object({ - id: z.int(), + data: z + .object({ type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() + id: z.int() + }) + .nullish() + }), + hashes: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashes'), + related: z.string().default('/api/v2/ui/hashlists/hashes') + }), + data: z + .array( + z.object({ + type: z.literal('hash'), + id: z.int() }) + ) + .optional() + }), + hashlists: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashlists'), + related: z.string().default('/api/v2/ui/hashlists/hashlists') }), - z.object({ - id: z.int(), - type: z.literal('hash'), - attributes: z.object({ - hashlistId: z.int(), - hash: z.string(), - salt: z.string(), - plaintext: z.string(), - timeCracked: z.number(), - chunkId: z.int(), - isCracked: z.boolean(), - crackPos: z.number() + data: z + .array( + z.object({ + type: z.literal('hashlist'), + id: z.int() }) + ) + .optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/tasks'), + related: z.string().default('/api/v2/ui/hashlists/tasks') }), - z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - }) - ])).optional() -}); - -export const zHashlistSingleResponse = z.object({ - data: z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() - }) - }), - relationships: z.object({ - accessGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/accessGroup'), - related: z.string().default('/api/v2/ui/hashlists/accessGroup') - }), - data: z.object({ - type: z.literal('accessGroup'), - id: z.int() - }).nullish() - }), - hashType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/hashType'), - related: z.string().default('/api/v2/ui/hashlists/hashType') - }), - data: z.object({ - type: z.literal('hashType'), - id: z.int() - }).nullish() - }), - hashes: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/hashes'), - related: z.string().default('/api/v2/ui/hashlists/hashes') - }), - data: z.array(z.object({ - type: z.literal('hash'), - id: z.int() - })).optional() - }), - hashlists: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/hashlists'), - related: z.string().default('/api/v2/ui/hashlists/hashlists') - }), - data: z.array(z.object({ - type: z.literal('hashlist'), - id: z.int() - })).optional() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/tasks'), - related: z.string().default('/api/v2/ui/hashlists/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ - z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) - }), - z.object({ - id: z.int(), - type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() - }) - }), - z.object({ - id: z.int(), - type: z.literal('hash'), - attributes: z.object({ - hashlistId: z.int(), - hash: z.string(), - salt: z.string(), - plaintext: z.string(), - timeCracked: z.number(), - chunkId: z.int(), - isCracked: z.boolean(), - crackPos: z.number() - }) + isSlowHash: z.boolean() + }) }), z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() - }) + id: z.int(), + type: z.literal('hash'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - }) - ])).optional() -}); - -export const zHashlistPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), hashTypeId: z.int(), hashCount: z.int(), separator: z.string().nullable(), @@ -3376,33 +3463,172 @@ export const zHashlistPostPatchResponse = z.object({ useBrain: z.boolean(), brainFeatures: z.int(), isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) }) - }) + ]) + ) + .optional() }); -export const zHashlistListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ +export const zHashlistSingleResponse = z.object({ + data: z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + relationships: z + .object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/hashlists/accessGroup') + }), + data: z + .object({ + type: z.literal('accessGroup'), + id: z.int() + }) + .nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashType'), + related: z.string().default('/api/v2/ui/hashlists/hashType') + }), + data: z + .object({ + type: z.literal('hashType'), + id: z.int() + }) + .nullish() + }), + hashes: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashes'), + related: z.string().default('/api/v2/ui/hashlists/hashes') + }), + data: z + .array( + z.object({ + type: z.literal('hash'), + id: z.int() + }) + ) + .optional() + }), + hashlists: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashlists'), + related: z.string().default('/api/v2/ui/hashlists/hashlists') + }), + data: z + .array( + z.object({ + type: z.literal('hashlist'), + id: z.int() + }) + ) + .optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/tasks'), + related: z.string().default('/api/v2/ui/hashlists/tasks') + }), + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hash'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), hashTypeId: z.int(), hashCount: z.int(), separator: z.string().nullable(), @@ -3415,2130 +3641,2751 @@ export const zHashlistListResponse = z.object({ useBrain: z.boolean(), brainFeatures: z.int(), isArchived: z.boolean() - }) - })), - relationships: z.object({ - accessGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/accessGroup'), - related: z.string().default('/api/v2/ui/hashlists/accessGroup') - }), - data: z.object({ - type: z.literal('accessGroup'), - id: z.int() - }).nullish() - }), - hashType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/hashType'), - related: z.string().default('/api/v2/ui/hashlists/hashType') - }), - data: z.object({ - type: z.literal('hashType'), - id: z.int() - }).nullish() - }), - hashes: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/hashes'), - related: z.string().default('/api/v2/ui/hashlists/hashes') - }), - data: z.array(z.object({ - type: z.literal('hash'), - id: z.int() - })).optional() - }), - hashlists: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/hashlists'), - related: z.string().default('/api/v2/ui/hashlists/hashlists') - }), - data: z.array(z.object({ - type: z.literal('hashlist'), - id: z.int() - })).optional() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/hashlists/relationships/tasks'), - related: z.string().default('/api/v2/ui/hashlists/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ + }) + }), z.object({ - id: z.int(), + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ]) + ) + .optional() +}); + +export const zHashlistPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }) +}); + +export const zHashlistListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/hashlists?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashlists?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashlists?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }) + ), + relationships: z + .object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/hashlists/accessGroup') + }), + data: z + .object({ type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) + id: z.int() + }) + .nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashType'), + related: z.string().default('/api/v2/ui/hashlists/hashType') }), - z.object({ - id: z.int(), + data: z + .object({ type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() + id: z.int() + }) + .nullish() + }), + hashes: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashes'), + related: z.string().default('/api/v2/ui/hashlists/hashes') + }), + data: z + .array( + z.object({ + type: z.literal('hash'), + id: z.int() }) + ) + .optional() + }), + hashlists: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/hashlists'), + related: z.string().default('/api/v2/ui/hashlists/hashlists') }), - z.object({ - id: z.int(), - type: z.literal('hash'), - attributes: z.object({ - hashlistId: z.int(), - hash: z.string(), - salt: z.string(), - plaintext: z.string(), - timeCracked: z.number(), - chunkId: z.int(), - isCracked: z.boolean(), - crackPos: z.number() + data: z + .array( + z.object({ + type: z.literal('hashlist'), + id: z.int() }) + ) + .optional() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/hashlists/relationships/tasks'), + related: z.string().default('/api/v2/ui/hashlists/tasks') }), - z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hash'), + attributes: z.object({ + hashlistId: z.int(), + hash: z.string(), + salt: z.string(), + plaintext: z.string(), + timeCracked: z.number(), + chunkId: z.int(), + isCracked: z.boolean(), + crackPos: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) }) - ])).optional() + ]) + ) + .optional() }); export const zHashlistRelationTasks = z.object({ - data: z.array(z.object({ - type: z.literal('tasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('tasks'), + id: z.int().default(1) + }) + ) }); export const zHashlistRelationTasksGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('tasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('tasks'), + id: z.int().default(1) + }) + ) }); export const zHashTypeCreate = z.object({ - data: z.object({ - type: z.literal('hashType'), - attributes: z.object({ - hashTypeId: z.int(), - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() - }) + data: z.object({ + type: z.literal('hashType'), + attributes: z.object({ + hashTypeId: z.int(), + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() }) + }) }); export const zHashTypePatch = z.object({ - data: z.object({ - type: z.literal('hashType'), - attributes: z.object({ - description: z.string().optional(), - isSalted: z.boolean().optional(), - isSlowHash: z.boolean().optional() - }) + data: z.object({ + type: z.literal('hashType'), + attributes: z.object({ + description: z.string().optional(), + isSalted: z.boolean().optional(), + isSlowHash: z.boolean().optional() }) + }) }); export const zHashTypeResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() - }) - }), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zHashTypePostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() }) + }) }); export const zHashTypeListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() - }) - })), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/hashtypes?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/hashtypes?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }) + ), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zHealthCheckAgentResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('healthCheckAgent'), - attributes: z.object({ - healthCheckId: z.int(), - agentId: z.int(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]), - cracked: z.int(), - numGpus: z.int(), - start: z.number(), - end: z.number(), - errors: z.string() - }) - }), - relationships: z.object({ - agent: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthcheckagents/relationships/agent'), - related: z.string().default('/api/v2/ui/healthcheckagents/agent') - }), - data: z.object({ - type: z.literal('agent'), - id: z.int() - }).nullish() - }), - healthCheck: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthcheckagents/relationships/healthCheck'), - related: z.string().default('/api/v2/ui/healthcheckagents/healthCheck') - }), - data: z.object({ - type: z.literal('healthCheck'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('healthCheckAgent'), + attributes: z.object({ + healthCheckId: z.int(), + agentId: z.int(), + status: z.union([z.literal(-1), z.literal(0), z.literal(1)]), + cracked: z.int(), + numGpus: z.int(), + start: z.number(), + end: z.number(), + errors: z.string() + }) + }), + relationships: z + .object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthcheckagents/relationships/agent'), + related: z.string().default('/api/v2/ui/healthcheckagents/agent') + }), + data: z + .object({ type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - }), z.object({ - id: z.int(), + id: z.int() + }) + .nullish() + }), + healthCheck: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthcheckagents/relationships/healthCheck'), + related: z.string().default('/api/v2/ui/healthcheckagents/healthCheck') + }), + data: z + .object({ type: z.literal('healthCheck'), - attributes: z.object({ - time: z.number(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]), - checkType: z.union([ - z.literal(0), - z.literal(3200) - ]), - hashtypeId: z.int(), - crackerBinaryId: z.int(), - expectedCracks: z.int(), - attackCmd: z.string() - }) - })])).optional() -}); - -export const zHealthCheckAgentListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('healthCheckAgent'), - attributes: z.object({ - healthCheckId: z.int(), - agentId: z.int(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]), - cracked: z.int(), - numGpus: z.int(), - start: z.number(), - end: z.number(), - errors: z.string() - }) - })), - relationships: z.object({ - agent: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthcheckagents/relationships/agent'), - related: z.string().default('/api/v2/ui/healthcheckagents/agent') - }), - data: z.object({ - type: z.literal('agent'), - id: z.int() - }).nullish() - }), - healthCheck: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthcheckagents/relationships/healthCheck'), - related: z.string().default('/api/v2/ui/healthcheckagents/healthCheck') - }), - data: z.object({ - type: z.literal('healthCheck'), - id: z.int() - }).nullish() + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('healthCheck'), + attributes: z.object({ + time: z.number(), + status: z.union([z.literal(-1), z.literal(0), z.literal(1)]), + checkType: z.union([z.literal(0), z.literal(3200)]), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() + }) }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), + ]) + ) + .optional() +}); + +export const zHealthCheckAgentListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/healthcheckagents?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/healthcheckagents?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('healthCheckAgent'), + attributes: z.object({ + healthCheckId: z.int(), + agentId: z.int(), + status: z.union([z.literal(-1), z.literal(0), z.literal(1)]), + cracked: z.int(), + numGpus: z.int(), + start: z.number(), + end: z.number(), + errors: z.string() + }) + }) + ), + relationships: z + .object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthcheckagents/relationships/agent'), + related: z.string().default('/api/v2/ui/healthcheckagents/agent') + }), + data: z + .object({ type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - }), z.object({ - id: z.int(), + id: z.int() + }) + .nullish() + }), + healthCheck: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthcheckagents/relationships/healthCheck'), + related: z.string().default('/api/v2/ui/healthcheckagents/healthCheck') + }), + data: z + .object({ type: z.literal('healthCheck'), - attributes: z.object({ - time: z.number(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]), - checkType: z.union([ - z.literal(0), - z.literal(3200) - ]), - hashtypeId: z.int(), - crackerBinaryId: z.int(), - expectedCracks: z.int(), - attackCmd: z.string() - }) - })])).optional() + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('healthCheck'), + attributes: z.object({ + time: z.number(), + status: z.union([z.literal(-1), z.literal(0), z.literal(1)]), + checkType: z.union([z.literal(0), z.literal(3200)]), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() + }) + }) + ]) + ) + .optional() }); export const zHealthCheckAgentRelationHealthCheck = z.object({ - data: z.object({ - type: z.literal('healthCheck'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('healthCheck'), + id: z.int().default(1) + }) }); export const zHealthCheckAgentRelationHealthCheckGetResponse = z.object({ - data: z.object({ - type: z.literal('healthCheck'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('healthCheck'), + id: z.int().default(1) + }) }); export const zHealthCheckCreate = z.object({ - data: z.object({ - type: z.literal('healthCheck'), - attributes: z.object({ - checkType: z.union([ - z.literal(0), - z.literal(3200) - ]), - hashtypeId: z.int(), - crackerBinaryId: z.int() - }) + data: z.object({ + type: z.literal('healthCheck'), + attributes: z.object({ + checkType: z.union([z.literal(0), z.literal(3200)]), + hashtypeId: z.int(), + crackerBinaryId: z.int() }) + }) }); export const zHealthCheckPatch = z.object({ - data: z.object({ - type: z.literal('healthCheck'), - attributes: z.object({ - checkType: z.union([ - z.literal(0), - z.literal(3200) - ]).optional() - }) + data: z.object({ + type: z.literal('healthCheck'), + attributes: z.object({ + checkType: z.union([z.literal(0), z.literal(3200)]).optional() }) + }) }); export const zHealthCheckResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('healthCheck'), - attributes: z.object({ - time: z.number(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]), - checkType: z.union([ - z.literal(0), - z.literal(3200) - ]), - hashtypeId: z.int(), - crackerBinaryId: z.int(), - expectedCracks: z.int(), - attackCmd: z.string() - }) - }), - relationships: z.object({ - crackerBinary: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthchecks/relationships/crackerBinary'), - related: z.string().default('/api/v2/ui/healthchecks/crackerBinary') - }), - data: z.object({ - type: z.literal('crackerBinary'), - id: z.int() - }).nullish() - }), - hashType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthchecks/relationships/hashType'), - related: z.string().default('/api/v2/ui/healthchecks/hashType') - }), - data: z.object({ - type: z.literal('hashType'), - id: z.int() - }).nullish() - }), - healthCheckAgents: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthchecks/relationships/healthCheckAgents'), - related: z.string().default('/api/v2/ui/healthchecks/healthCheckAgents') - }), - data: z.array(z.object({ - type: z.literal('healthCheckAgent'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ - z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('healthCheck'), + attributes: z.object({ + time: z.number(), + status: z.union([z.literal(-1), z.literal(0), z.literal(1)]), + checkType: z.union([z.literal(0), z.literal(3200)]), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() + }) + }), + relationships: z + .object({ + crackerBinary: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks/relationships/crackerBinary'), + related: z.string().default('/api/v2/ui/healthchecks/crackerBinary') + }), + data: z + .object({ type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() - }) + id: z.int() + }) + .nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks/relationships/hashType'), + related: z.string().default('/api/v2/ui/healthchecks/hashType') }), - z.object({ - id: z.int(), + data: z + .object({ type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() + id: z.int() + }) + .nullish() + }), + healthCheckAgents: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks/relationships/healthCheckAgents'), + related: z.string().default('/api/v2/ui/healthchecks/healthCheckAgents') + }), + data: z + .array( + z.object({ + type: z.literal('healthCheckAgent'), + id: z.int() }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) }), z.object({ - id: z.int(), - type: z.literal('healthCheckAgent'), - attributes: z.object({ - healthCheckId: z.int(), - agentId: z.int(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]), - cracked: z.int(), - numGpus: z.int(), - start: z.number(), - end: z.number(), - errors: z.string() - }) + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('healthCheckAgent'), + attributes: z.object({ + healthCheckId: z.int(), + agentId: z.int(), + status: z.union([z.literal(-1), z.literal(0), z.literal(1)]), + cracked: z.int(), + numGpus: z.int(), + start: z.number(), + end: z.number(), + errors: z.string() + }) }) - ])).optional() + ]) + ) + .optional() }); export const zHealthCheckPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('healthCheck'), - attributes: z.object({ - time: z.number(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]), - checkType: z.union([ - z.literal(0), - z.literal(3200) - ]), - hashtypeId: z.int(), - crackerBinaryId: z.int(), - expectedCracks: z.int(), - attackCmd: z.string() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('healthCheck'), + attributes: z.object({ + time: z.number(), + status: z.union([z.literal(-1), z.literal(0), z.literal(1)]), + checkType: z.union([z.literal(0), z.literal(3200)]), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() }) + }) }); export const zHealthCheckListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('healthCheck'), - attributes: z.object({ - time: z.number(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]), - checkType: z.union([ - z.literal(0), - z.literal(3200) - ]), - hashtypeId: z.int(), - crackerBinaryId: z.int(), - expectedCracks: z.int(), - attackCmd: z.string() - }) - })), - relationships: z.object({ - crackerBinary: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthchecks/relationships/crackerBinary'), - related: z.string().default('/api/v2/ui/healthchecks/crackerBinary') - }), - data: z.object({ - type: z.literal('crackerBinary'), - id: z.int() - }).nullish() - }), - hashType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthchecks/relationships/hashType'), - related: z.string().default('/api/v2/ui/healthchecks/hashType') - }), - data: z.object({ - type: z.literal('hashType'), - id: z.int() - }).nullish() - }), - healthCheckAgents: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/healthchecks/relationships/healthCheckAgents'), - related: z.string().default('/api/v2/ui/healthchecks/healthCheckAgents') - }), - data: z.array(z.object({ - type: z.literal('healthCheckAgent'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ - z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/healthchecks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/healthchecks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('healthCheck'), + attributes: z.object({ + time: z.number(), + status: z.union([z.literal(-1), z.literal(0), z.literal(1)]), + checkType: z.union([z.literal(0), z.literal(3200)]), + hashtypeId: z.int(), + crackerBinaryId: z.int(), + expectedCracks: z.int(), + attackCmd: z.string() + }) + }) + ), + relationships: z + .object({ + crackerBinary: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks/relationships/crackerBinary'), + related: z.string().default('/api/v2/ui/healthchecks/crackerBinary') + }), + data: z + .object({ type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() - }) + id: z.int() + }) + .nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks/relationships/hashType'), + related: z.string().default('/api/v2/ui/healthchecks/hashType') }), - z.object({ - id: z.int(), + data: z + .object({ type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() + id: z.int() + }) + .nullish() + }), + healthCheckAgents: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/healthchecks/relationships/healthCheckAgents'), + related: z.string().default('/api/v2/ui/healthchecks/healthCheckAgents') + }), + data: z + .array( + z.object({ + type: z.literal('healthCheckAgent'), + id: z.int() }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) }), z.object({ - id: z.int(), - type: z.literal('healthCheckAgent'), - attributes: z.object({ - healthCheckId: z.int(), - agentId: z.int(), - status: z.union([ - z.literal(-1), - z.literal(0), - z.literal(1) - ]), - cracked: z.int(), - numGpus: z.int(), - start: z.number(), - end: z.number(), - errors: z.string() - }) + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('healthCheckAgent'), + attributes: z.object({ + healthCheckId: z.int(), + agentId: z.int(), + status: z.union([z.literal(-1), z.literal(0), z.literal(1)]), + cracked: z.int(), + numGpus: z.int(), + start: z.number(), + end: z.number(), + errors: z.string() + }) }) - ])).optional() + ]) + ) + .optional() }); export const zHealthCheckRelationHealthCheckAgents = z.object({ - data: z.array(z.object({ - type: z.literal('healthCheckAgents'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('healthCheckAgents'), + id: z.int().default(1) + }) + ) }); export const zHealthCheckRelationHealthCheckAgentsGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('healthCheckAgents'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('healthCheckAgents'), + id: z.int().default(1) + }) + ) }); export const zLogEntryCreate = z.object({ - data: z.object({ - type: z.literal('logEntry'), - attributes: z.record(z.string(), z.unknown()) - }) + data: z.object({ + type: z.literal('logEntry'), + attributes: z.record(z.string(), z.unknown()) + }) }); export const zLogEntryPatch = z.object({ - data: z.object({ - type: z.literal('logEntry'), - attributes: z.record(z.string(), z.unknown()) - }) + data: z.object({ + type: z.literal('logEntry'), + attributes: z.record(z.string(), z.unknown()) + }) }); export const zLogEntryResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/logentries?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('logEntry'), - attributes: z.object({ - issuer: z.union([ - z.literal('API'), - z.literal('User') - ]), - issuerId: z.string(), - level: z.union([ - z.literal('warning'), - z.literal('error'), - z.literal('fatal error'), - z.literal('information') - ]), - message: z.string(), - time: z.number() - }) - }), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/logentries?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('logEntry'), + attributes: z.object({ + issuer: z.union([z.literal('API'), z.literal('User')]), + issuerId: z.string(), + level: z.union([z.literal('warning'), z.literal('error'), z.literal('fatal error'), z.literal('information')]), + message: z.string(), + time: z.number() + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zLogEntryPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('logEntry'), - attributes: z.object({ - issuer: z.union([ - z.literal('API'), - z.literal('User') - ]), - issuerId: z.string(), - level: z.union([ - z.literal('warning'), - z.literal('error'), - z.literal('fatal error'), - z.literal('information') - ]), - message: z.string(), - time: z.number() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('logEntry'), + attributes: z.object({ + issuer: z.union([z.literal('API'), z.literal('User')]), + issuerId: z.string(), + level: z.union([z.literal('warning'), z.literal('error'), z.literal('fatal error'), z.literal('information')]), + message: z.string(), + time: z.number() }) + }) }); export const zLogEntryListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/logentries?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('logEntry'), - attributes: z.object({ - issuer: z.union([ - z.literal('API'), - z.literal('User') - ]), - issuerId: z.string(), - level: z.union([ - z.literal('warning'), - z.literal('error'), - z.literal('fatal error'), - z.literal('information') - ]), - message: z.string(), - time: z.number() - }) - })), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/logentries?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/logentries?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/logentries?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('logEntry'), + attributes: z.object({ + issuer: z.union([z.literal('API'), z.literal('User')]), + issuerId: z.string(), + level: z.union([z.literal('warning'), z.literal('error'), z.literal('fatal error'), z.literal('information')]), + message: z.string(), + time: z.number() + }) + }) + ), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zNotificationSettingCreate = z.object({ - data: z.object({ - type: z.literal('notificationSetting'), - attributes: z.object({ - actionFilter: z.string(), - action: z.union([ - z.literal('createNotification'), - z.literal('setActive'), - z.literal('deleteNotification') - ]), - notification: z.union([ - z.literal('taskComplete'), - z.literal('agentError'), - z.literal('ownAgentError'), - z.literal('logError'), - z.literal('newTask'), - z.literal('newHashlist'), - z.literal('hashlistAllCracked'), - z.literal('hashlistCrackedHash'), - z.literal('userCreated'), - z.literal('userDeleted'), - z.literal('userLoginFailed'), - z.literal('logWarn'), - z.literal('logFatal'), - z.literal('newAgent'), - z.literal('deleteTask'), - z.literal('deleteHashlist'), - z.literal('deleteAgent') - ]), - receiver: z.string() - }) + data: z.object({ + type: z.literal('notificationSetting'), + attributes: z.object({ + actionFilter: z.string(), + action: z.union([z.literal('createNotification'), z.literal('setActive'), z.literal('deleteNotification')]), + notification: z.union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') + ]), + receiver: z.string() }) + }) }); export const zNotificationSettingPatch = z.object({ - data: z.object({ - type: z.literal('notificationSetting'), - attributes: z.object({ - action: z.union([ - z.literal('createNotification'), - z.literal('setActive'), - z.literal('deleteNotification') - ]).optional(), - isActive: z.boolean().optional(), - notification: z.union([ - z.literal('taskComplete'), - z.literal('agentError'), - z.literal('ownAgentError'), - z.literal('logError'), - z.literal('newTask'), - z.literal('newHashlist'), - z.literal('hashlistAllCracked'), - z.literal('hashlistCrackedHash'), - z.literal('userCreated'), - z.literal('userDeleted'), - z.literal('userLoginFailed'), - z.literal('logWarn'), - z.literal('logFatal'), - z.literal('newAgent'), - z.literal('deleteTask'), - z.literal('deleteHashlist'), - z.literal('deleteAgent') - ]).optional(), - receiver: z.string().optional() - }) + data: z.object({ + type: z.literal('notificationSetting'), + attributes: z.object({ + action: z + .union([z.literal('createNotification'), z.literal('setActive'), z.literal('deleteNotification')]) + .optional(), + isActive: z.boolean().optional(), + notification: z + .union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') + ]) + .optional(), + receiver: z.string().optional() }) + }) }); export const zNotificationSettingResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/notifications?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('notificationSetting'), - attributes: z.object({ - action: z.union([ - z.literal('createNotification'), - z.literal('setActive'), - z.literal('deleteNotification') - ]), - objectId: z.int(), - notification: z.union([ - z.literal('taskComplete'), - z.literal('agentError'), - z.literal('ownAgentError'), - z.literal('logError'), - z.literal('newTask'), - z.literal('newHashlist'), - z.literal('hashlistAllCracked'), - z.literal('hashlistCrackedHash'), - z.literal('userCreated'), - z.literal('userDeleted'), - z.literal('userLoginFailed'), - z.literal('logWarn'), - z.literal('logFatal'), - z.literal('newAgent'), - z.literal('deleteTask'), - z.literal('deleteHashlist'), - z.literal('deleteAgent') - ]), - userId: z.int(), - receiver: z.string(), - isActive: z.boolean() - }) - }), - relationships: z.object({ - user: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/notifications/relationships/user'), - related: z.string().default('/api/v2/ui/notifications/user') - }), - data: z.object({ - type: z.literal('user'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/notifications?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('notificationSetting'), + attributes: z.object({ + action: z.union([z.literal('createNotification'), z.literal('setActive'), z.literal('deleteNotification')]), + objectId: z.int(), + notification: z.union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') + ]), + userId: z.int(), + receiver: z.string(), + isActive: z.boolean() + }) + }), + relationships: z + .object({ + user: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/notifications/relationships/user'), + related: z.string().default('/api/v2/ui/notifications/user') + }), + data: z + .object({ + type: z.literal('user'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('user'), attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - })).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }) + ) + .optional() }); export const zNotificationSettingPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('notificationSetting'), - attributes: z.object({ - action: z.union([ - z.literal('createNotification'), - z.literal('setActive'), - z.literal('deleteNotification') - ]), - objectId: z.int(), - notification: z.union([ - z.literal('taskComplete'), - z.literal('agentError'), - z.literal('ownAgentError'), - z.literal('logError'), - z.literal('newTask'), - z.literal('newHashlist'), - z.literal('hashlistAllCracked'), - z.literal('hashlistCrackedHash'), - z.literal('userCreated'), - z.literal('userDeleted'), - z.literal('userLoginFailed'), - z.literal('logWarn'), - z.literal('logFatal'), - z.literal('newAgent'), - z.literal('deleteTask'), - z.literal('deleteHashlist'), - z.literal('deleteAgent') - ]), - userId: z.int(), - receiver: z.string(), - isActive: z.boolean() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('notificationSetting'), + attributes: z.object({ + action: z.union([z.literal('createNotification'), z.literal('setActive'), z.literal('deleteNotification')]), + objectId: z.int(), + notification: z.union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') + ]), + userId: z.int(), + receiver: z.string(), + isActive: z.boolean() }) + }) }); export const zNotificationSettingListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/notifications?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('notificationSetting'), - attributes: z.object({ - action: z.union([ - z.literal('createNotification'), - z.literal('setActive'), - z.literal('deleteNotification') - ]), - objectId: z.int(), - notification: z.union([ - z.literal('taskComplete'), - z.literal('agentError'), - z.literal('ownAgentError'), - z.literal('logError'), - z.literal('newTask'), - z.literal('newHashlist'), - z.literal('hashlistAllCracked'), - z.literal('hashlistCrackedHash'), - z.literal('userCreated'), - z.literal('userDeleted'), - z.literal('userLoginFailed'), - z.literal('logWarn'), - z.literal('logFatal'), - z.literal('newAgent'), - z.literal('deleteTask'), - z.literal('deleteHashlist'), - z.literal('deleteAgent') - ]), - userId: z.int(), - receiver: z.string(), - isActive: z.boolean() - }) - })), - relationships: z.object({ - user: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/notifications/relationships/user'), - related: z.string().default('/api/v2/ui/notifications/user') - }), - data: z.object({ - type: z.literal('user'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/notifications?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/notifications?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/notifications?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('notificationSetting'), + attributes: z.object({ + action: z.union([z.literal('createNotification'), z.literal('setActive'), z.literal('deleteNotification')]), + objectId: z.int(), + notification: z.union([ + z.literal('taskComplete'), + z.literal('agentError'), + z.literal('ownAgentError'), + z.literal('logError'), + z.literal('newTask'), + z.literal('newHashlist'), + z.literal('hashlistAllCracked'), + z.literal('hashlistCrackedHash'), + z.literal('userCreated'), + z.literal('userDeleted'), + z.literal('userLoginFailed'), + z.literal('logWarn'), + z.literal('logFatal'), + z.literal('newAgent'), + z.literal('deleteTask'), + z.literal('deleteHashlist'), + z.literal('deleteAgent') + ]), + userId: z.int(), + receiver: z.string(), + isActive: z.boolean() + }) + }) + ), + relationships: z + .object({ + user: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/notifications/relationships/user'), + related: z.string().default('/api/v2/ui/notifications/user') + }), + data: z + .object({ + type: z.literal('user'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('user'), attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - })).optional() + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }) + ) + .optional() }); export const zNotificationSettingRelationUser = z.object({ - data: z.object({ - type: z.literal('user'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('user'), + id: z.int().default(1) + }) }); export const zNotificationSettingRelationUserGetResponse = z.object({ - data: z.object({ - type: z.literal('user'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('user'), + id: z.int().default(1) + }) }); export const zPreprocessorCreate = z.object({ - data: z.object({ - type: z.literal('preprocessor'), - attributes: z.object({ - name: z.string(), - url: z.string(), - binaryName: z.string(), - keyspaceCommand: z.string(), - skipCommand: z.string(), - limitCommand: z.string() - }) + data: z.object({ + type: z.literal('preprocessor'), + attributes: z.object({ + name: z.string(), + url: z.string(), + binaryName: z.string(), + keyspaceCommand: z.string(), + skipCommand: z.string(), + limitCommand: z.string() }) + }) }); export const zPreprocessorPatch = z.object({ - data: z.object({ - type: z.literal('preprocessor'), - attributes: z.object({ - binaryName: z.string().optional(), - keyspaceCommand: z.string().optional(), - limitCommand: z.string().optional(), - name: z.string().optional(), - skipCommand: z.string().optional(), - url: z.string().optional() - }) + data: z.object({ + type: z.literal('preprocessor'), + attributes: z.object({ + binaryName: z.string().optional(), + keyspaceCommand: z.string().optional(), + limitCommand: z.string().optional(), + name: z.string().optional(), + skipCommand: z.string().optional(), + url: z.string().optional() }) + }) }); export const zPreprocessorResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('preprocessor'), - attributes: z.object({ - name: z.string(), - url: z.string(), - binaryName: z.string(), - keyspaceCommand: z.string(), - skipCommand: z.string(), - limitCommand: z.string() - }) - }), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('preprocessor'), + attributes: z.object({ + name: z.string(), + url: z.string(), + binaryName: z.string(), + keyspaceCommand: z.string(), + skipCommand: z.string(), + limitCommand: z.string() + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zPreprocessorPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('preprocessor'), - attributes: z.object({ - name: z.string(), - url: z.string(), - binaryName: z.string(), - keyspaceCommand: z.string(), - skipCommand: z.string(), - limitCommand: z.string() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('preprocessor'), + attributes: z.object({ + name: z.string(), + url: z.string(), + binaryName: z.string(), + keyspaceCommand: z.string(), + skipCommand: z.string(), + limitCommand: z.string() }) + }) }); export const zPreprocessorListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('preprocessor'), - attributes: z.object({ - name: z.string(), - url: z.string(), - binaryName: z.string(), - keyspaceCommand: z.string(), - skipCommand: z.string(), - limitCommand: z.string() - }) - })), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/preprocessors?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/preprocessors?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('preprocessor'), + attributes: z.object({ + name: z.string(), + url: z.string(), + binaryName: z.string(), + keyspaceCommand: z.string(), + skipCommand: z.string(), + limitCommand: z.string() + }) + }) + ), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zPreTaskCreate = z.object({ - data: z.object({ - type: z.literal('preTask'), - attributes: z.object({ - files: z.array(z.int()), - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - priority: z.int(), - maxAgents: z.int(), - isMaskImport: z.boolean(), - crackerBinaryTypeId: z.int() - }) + data: z.object({ + type: z.literal('preTask'), + attributes: z.object({ + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int() }) + }) }); export const zPreTaskPatch = z.object({ - data: z.object({ - type: z.literal('preTask'), - attributes: z.object({ - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - color: z.string().optional(), - crackerBinaryTypeId: z.int().optional(), - isCpuTask: z.boolean().optional(), - isMaskImport: z.boolean().optional(), - isSmall: z.boolean().optional(), - maxAgents: z.int().optional(), - priority: z.int().optional(), - statusTimer: z.int().optional(), - taskName: z.string().optional() - }) + data: z.object({ + type: z.literal('preTask'), + attributes: z.object({ + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + color: z.string().optional(), + crackerBinaryTypeId: z.int().optional(), + isCpuTask: z.boolean().optional(), + isMaskImport: z.boolean().optional(), + isSmall: z.boolean().optional(), + maxAgents: z.int().optional(), + priority: z.int().optional(), + statusTimer: z.int().optional(), + taskName: z.string().optional() }) + }) }); export const zPreTaskResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('preTask'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - priority: z.int(), - maxAgents: z.int(), - isMaskImport: z.boolean(), - crackerBinaryTypeId: z.int(), - auxiliaryKeyspace: z.int() - }) - }), - relationships: z.object({ - pretaskFiles: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/pretasks/relationships/pretaskFiles'), - related: z.string().default('/api/v2/ui/pretasks/pretaskFiles') - }), - data: z.array(z.object({ - type: z.literal('file'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('preTask'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int(), + auxiliaryKeyspace: z.int() + }) + }), + relationships: z + .object({ + pretaskFiles: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/pretasks/relationships/pretaskFiles'), + related: z.string().default('/api/v2/ui/pretasks/pretaskFiles') + }), + data: z + .array( + z.object({ + type: z.literal('file'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('file'), attributes: z.object({ - filename: z.string(), - size: z.number(), - isSecret: z.boolean(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]), - accessGroupId: z.int(), - lineCount: z.number() + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]), + accessGroupId: z.int(), + lineCount: z.number() }) - })).optional() + }) + ) + .optional() }); export const zPreTaskPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('preTask'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - priority: z.int(), - maxAgents: z.int(), - isMaskImport: z.boolean(), - crackerBinaryTypeId: z.int(), - auxiliaryKeyspace: z.int() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('preTask'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int(), + auxiliaryKeyspace: z.int() }) + }) }); export const zPreTaskListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('preTask'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - priority: z.int(), - maxAgents: z.int(), - isMaskImport: z.boolean(), - crackerBinaryTypeId: z.int(), - auxiliaryKeyspace: z.int() - }) - })), - relationships: z.object({ - pretaskFiles: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/pretasks/relationships/pretaskFiles'), - related: z.string().default('/api/v2/ui/pretasks/pretaskFiles') - }), - data: z.array(z.object({ - type: z.literal('file'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/pretasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/pretasks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/pretasks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('preTask'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int(), + auxiliaryKeyspace: z.int() + }) + }) + ), + relationships: z + .object({ + pretaskFiles: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/pretasks/relationships/pretaskFiles'), + related: z.string().default('/api/v2/ui/pretasks/pretaskFiles') + }), + data: z + .array( + z.object({ + type: z.literal('file'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('file'), attributes: z.object({ - filename: z.string(), - size: z.number(), - isSecret: z.boolean(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]), - accessGroupId: z.int(), - lineCount: z.number() + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]), + accessGroupId: z.int(), + lineCount: z.number() }) - })).optional() + }) + ) + .optional() }); export const zPreTaskRelationPretaskFiles = z.object({ - data: z.array(z.object({ - type: z.literal('pretaskFiles'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('pretaskFiles'), + id: z.int().default(1) + }) + ) }); export const zPreTaskRelationPretaskFilesGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('pretaskFiles'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('pretaskFiles'), + id: z.int().default(1) + }) + ) }); export const zSpeedResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/speeds?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('speed'), - attributes: z.object({ - agentId: z.int(), - taskId: z.int(), - speed: z.number(), - time: z.number() - }) - }), - relationships: z.object({ - agent: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/speeds/relationships/agent'), - related: z.string().default('/api/v2/ui/speeds/agent') - }), - data: z.object({ - type: z.literal('agent'), - id: z.int() - }).nullish() - }), - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/speeds/relationships/task'), - related: z.string().default('/api/v2/ui/speeds/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/speeds?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('speed'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + speed: z.number(), + time: z.number() + }) + }), + relationships: z + .object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/speeds/relationships/agent'), + related: z.string().default('/api/v2/ui/speeds/agent') + }), + data: z + .object({ type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - }), z.object({ - id: z.int(), + id: z.int() + }) + .nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/speeds/relationships/task'), + related: z.string().default('/api/v2/ui/speeds/task') + }), + data: z + .object({ type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - })])).optional() + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ]) + ) + .optional() }); export const zSpeedListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/speeds?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('speed'), - attributes: z.object({ - agentId: z.int(), - taskId: z.int(), - speed: z.number(), - time: z.number() - }) - })), - relationships: z.object({ - agent: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/speeds/relationships/agent'), - related: z.string().default('/api/v2/ui/speeds/agent') - }), - data: z.object({ - type: z.literal('agent'), - id: z.int() - }).nullish() - }), - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/speeds/relationships/task'), - related: z.string().default('/api/v2/ui/speeds/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/speeds?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/speeds?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/speeds?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('speed'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + speed: z.number(), + time: z.number() + }) + }) + ), + relationships: z + .object({ + agent: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/speeds/relationships/agent'), + related: z.string().default('/api/v2/ui/speeds/agent') + }), + data: z + .object({ type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - }), z.object({ - id: z.int(), + id: z.int() + }) + .nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/speeds/relationships/task'), + related: z.string().default('/api/v2/ui/speeds/task') + }), + data: z + .object({ type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - })])).optional() + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) + }) + ]) + ) + .optional() }); export const zSpeedRelationTask = z.object({ - data: z.object({ - type: z.literal('task'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zSpeedRelationTaskGetResponse = z.object({ - data: z.object({ - type: z.literal('task'), - id: z.int().default(1) - }) + data: z.object({ + type: z.literal('task'), + id: z.int().default(1) + }) }); export const zSupertaskCreate = z.object({ - data: z.object({ - type: z.literal('supertask'), - attributes: z.object({ - pretasks: z.array(z.int()), - supertaskName: z.string() - }) + data: z.object({ + type: z.literal('supertask'), + attributes: z.object({ + pretasks: z.array(z.int()), + supertaskName: z.string() }) + }) }); export const zSupertaskPatch = z.object({ - data: z.object({ - type: z.literal('supertask'), - attributes: z.object({ - supertaskName: z.string().optional() - }) + data: z.object({ + type: z.literal('supertask'), + attributes: z.object({ + supertaskName: z.string().optional() }) + }) }); export const zSupertaskResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('supertask'), - attributes: z.object({ - supertaskName: z.string() - }) - }), - relationships: z.object({ - pretasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/supertasks/relationships/pretasks'), - related: z.string().default('/api/v2/ui/supertasks/pretasks') - }), - data: z.array(z.object({ - type: z.literal('preTask'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('supertask'), + attributes: z.object({ + supertaskName: z.string() + }) + }), + relationships: z + .object({ + pretasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/supertasks/relationships/pretasks'), + related: z.string().default('/api/v2/ui/supertasks/pretasks') + }), + data: z + .array( + z.object({ + type: z.literal('preTask'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('preTask'), attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - priority: z.int(), - maxAgents: z.int(), - isMaskImport: z.boolean(), - crackerBinaryTypeId: z.int() + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int() }) - })).optional() + }) + ) + .optional() }); export const zSupertaskSingleResponse = z.object({ - data: z.object({ - id: z.int(), - type: z.literal('supertask'), - attributes: z.object({ - supertaskName: z.string() - }) - }), - relationships: z.object({ - pretasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/supertasks/relationships/pretasks'), - related: z.string().default('/api/v2/ui/supertasks/pretasks') - }), - data: z.array(z.object({ - type: z.literal('preTask'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.object({ + data: z.object({ + id: z.int(), + type: z.literal('supertask'), + attributes: z.object({ + supertaskName: z.string() + }) + }), + relationships: z + .object({ + pretasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/supertasks/relationships/pretasks'), + related: z.string().default('/api/v2/ui/supertasks/pretasks') + }), + data: z + .array( + z.object({ + type: z.literal('preTask'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('preTask'), attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - priority: z.int(), - maxAgents: z.int(), - isMaskImport: z.boolean(), - crackerBinaryTypeId: z.int() + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int() }) - })).optional() + }) + ) + .optional() }); export const zSupertaskPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('supertask'), - attributes: z.object({ - supertaskName: z.string() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('supertask'), + attributes: z.object({ + supertaskName: z.string() }) + }) }); export const zSupertaskListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('supertask'), - attributes: z.object({ - supertaskName: z.string() - }) - })), - relationships: z.object({ - pretasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/supertasks/relationships/pretasks'), - related: z.string().default('/api/v2/ui/supertasks/pretasks') - }), - data: z.array(z.object({ - type: z.literal('preTask'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/supertasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/supertasks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/supertasks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('supertask'), + attributes: z.object({ + supertaskName: z.string() + }) + }) + ), + relationships: z + .object({ + pretasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/supertasks/relationships/pretasks'), + related: z.string().default('/api/v2/ui/supertasks/pretasks') + }), + data: z + .array( + z.object({ + type: z.literal('preTask'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.object({ id: z.int(), type: z.literal('preTask'), attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - color: z.string(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - priority: z.int(), - maxAgents: z.int(), - isMaskImport: z.boolean(), - crackerBinaryTypeId: z.int() + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + color: z.string(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + priority: z.int(), + maxAgents: z.int(), + isMaskImport: z.boolean(), + crackerBinaryTypeId: z.int() }) - })).optional() + }) + ) + .optional() }); export const zSupertaskRelationPretasks = z.object({ - data: z.array(z.object({ - type: z.literal('pretasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('pretasks'), + id: z.int().default(1) + }) + ) }); export const zSupertaskRelationPretasksGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('pretasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('pretasks'), + id: z.int().default(1) + }) + ) }); export const zTaskCreate = z.object({ - data: z.object({ - type: z.literal('task'), - attributes: z.object({ - hashlistId: z.int(), - files: z.array(z.int()), - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullish(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) + data: z.object({ + type: z.literal('task'), + attributes: z.object({ + hashlistId: z.int(), + files: z.array(z.int()), + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullish(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() }) + }) }); export const zTaskPatch = z.object({ - data: z.object({ - type: z.literal('task'), - attributes: z.object({ - attackCmd: z.string().optional(), - chunkTime: z.int().optional(), - color: z.string().nullish(), - isArchived: z.boolean().optional(), - isCpuTask: z.boolean().optional(), - isSmall: z.boolean().optional(), - maxAgents: z.int().optional(), - notes: z.string().optional(), - priority: z.int().optional(), - statusTimer: z.int().optional(), - taskName: z.string().optional() - }) + data: z.object({ + type: z.literal('task'), + attributes: z.object({ + attackCmd: z.string().optional(), + chunkTime: z.int().optional(), + color: z.string().nullish(), + isArchived: z.boolean().optional(), + isCpuTask: z.boolean().optional(), + isSmall: z.boolean().optional(), + maxAgents: z.int().optional(), + notes: z.string().optional(), + priority: z.int().optional(), + statusTimer: z.int().optional(), + taskName: z.string().optional() }) + }) }); export const zTaskResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/tasks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/tasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string(), + activeAgents: z.int(), + dispatched: z.string(), + searched: z.string(), + status: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + estimatedTime: z.int(), + timeSpent: z.int(), + currentSpeed: z.int(), + cprogress: z.int() + }) + }), + relationships: z + .object({ + assignedAgents: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/assignedAgents'), + related: z.string().default('/api/v2/ui/tasks/assignedAgents') + }), + data: z + .array( + z.object({ + type: z.literal('agent'), + id: z.int() + }) + ) + .optional() + }), + crackerBinary: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinary'), + related: z.string().default('/api/v2/ui/tasks/crackerBinary') + }), + data: z + .object({ + type: z.literal('crackerBinary'), + id: z.int() + }) + .nullish() + }), + crackerBinaryType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinaryType'), + related: z.string().default('/api/v2/ui/tasks/crackerBinaryType') + }), + data: z + .object({ + type: z.literal('crackerBinaryType'), + id: z.int() + }) + .nullish() + }), + files: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/files'), + related: z.string().default('/api/v2/ui/tasks/files') + }), + data: z + .array( + z.object({ + type: z.literal('file'), + id: z.int() + }) + ) + .optional() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/hashlist'), + related: z.string().default('/api/v2/ui/tasks/hashlist') + }), + data: z + .object({ + type: z.literal('hashlist'), + id: z.int() + }) + .nullish() + }), + speeds: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/speeds'), + related: z.string().default('/api/v2/ui/tasks/speeds') + }), + data: z + .array( + z.object({ + type: z.literal('speed'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string(), - activeAgents: z.int(), - dispatched: z.string(), - searched: z.string(), - status: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - estimatedTime: z.int(), - timeSpent: z.int(), - currentSpeed: z.int(), - cprogress: z.int() - }) - }), - relationships: z.object({ - assignedAgents: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/assignedAgents'), - related: z.string().default('/api/v2/ui/tasks/assignedAgents') - }), - data: z.array(z.object({ - type: z.literal('agent'), - id: z.int() - })).optional() - }), - crackerBinary: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinary'), - related: z.string().default('/api/v2/ui/tasks/crackerBinary') - }), - data: z.object({ - type: z.literal('crackerBinary'), - id: z.int() - }).nullish() - }), - crackerBinaryType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinaryType'), - related: z.string().default('/api/v2/ui/tasks/crackerBinaryType') - }), - data: z.object({ - type: z.literal('crackerBinaryType'), - id: z.int() - }).nullish() - }), - files: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/files'), - related: z.string().default('/api/v2/ui/tasks/files') - }), - data: z.array(z.object({ - type: z.literal('file'), - id: z.int() - })).optional() - }), - hashlist: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/hashlist'), - related: z.string().default('/api/v2/ui/tasks/hashlist') - }), - data: z.object({ - type: z.literal('hashlist'), - id: z.int() - }).nullish() - }), - speeds: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/speeds'), - related: z.string().default('/api/v2/ui/tasks/speeds') - }), - data: z.array(z.object({ - type: z.literal('speed'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), z.object({ - id: z.int(), + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('file'), + attributes: z.object({ + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]), + accessGroupId: z.int(), + lineCount: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('speed'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + speed: z.number(), + time: z.number() + }) + }) + ]) + ) + .optional() +}); + +export const zTaskPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string(), + activeAgents: z.int(), + dispatched: z.string(), + searched: z.string(), + status: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + estimatedTime: z.int(), + timeSpent: z.int(), + currentSpeed: z.int(), + cprogress: z.int() + }) + }) +}); + +export const zTaskListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/tasks?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string(), + activeAgents: z.int(), + dispatched: z.string(), + searched: z.string(), + status: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + estimatedTime: z.int(), + timeSpent: z.int(), + currentSpeed: z.int(), + cprogress: z.int() + }) + }) + ), + relationships: z + .object({ + assignedAgents: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/assignedAgents'), + related: z.string().default('/api/v2/ui/tasks/assignedAgents') + }), + data: z + .array( + z.object({ + type: z.literal('agent'), + id: z.int() + }) + ) + .optional() + }), + crackerBinary: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinary'), + related: z.string().default('/api/v2/ui/tasks/crackerBinary') + }), + data: z + .object({ type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() + id: z.int() + }) + .nullish() + }), + crackerBinaryType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinaryType'), + related: z.string().default('/api/v2/ui/tasks/crackerBinaryType') + }), + data: z + .object({ + type: z.literal('crackerBinaryType'), + id: z.int() + }) + .nullish() + }), + files: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/files'), + related: z.string().default('/api/v2/ui/tasks/files') + }), + data: z + .array( + z.object({ + type: z.literal('file'), + id: z.int() + }) + ) + .optional() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/hashlist'), + related: z.string().default('/api/v2/ui/tasks/hashlist') + }), + data: z + .object({ + type: z.literal('hashlist'), + id: z.int() + }) + .nullish() + }), + speeds: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/tasks/relationships/speeds'), + related: z.string().default('/api/v2/ui/tasks/speeds') + }), + data: z + .array( + z.object({ + type: z.literal('speed'), + id: z.int() }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('crackerBinary'), + attributes: z.object({ + crackerBinaryTypeId: z.int(), + version: z.string(), + downloadUrl: z.string(), + binaryName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('crackerBinaryType'), + attributes: z.object({ + typeName: z.string(), + isChunkingAvailable: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('agent'), + attributes: z.object({ + agentName: z.string(), + uid: z.string(), + os: z.union([z.literal(0), z.literal(1), z.literal(2)]), + devices: z.string(), + cmdPars: z.string(), + ignoreErrors: z.union([z.literal(0), z.literal(1), z.literal(2)]), + isActive: z.boolean(), + isTrusted: z.boolean(), + token: z.string(), + lastAct: z.string(), + lastTime: z.number(), + lastIp: z.string(), + userId: z.int().nullable(), + cpuOnly: z.boolean(), + clientSignature: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('file'), + attributes: z.object({ + filename: z.string(), + size: z.number(), + isSecret: z.boolean(), + fileType: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(100)]), + accessGroupId: z.int(), + lineCount: z.number() + }) + }), + z.object({ + id: z.int(), + type: z.literal('speed'), + attributes: z.object({ + agentId: z.int(), + taskId: z.int(), + speed: z.number(), + time: z.number() + }) + }) + ]) + ) + .optional() +}); + +export const zTaskRelationSpeeds = z.object({ + data: z.array( + z.object({ + type: z.literal('speeds'), + id: z.int().default(1) + }) + ) +}); + +export const zTaskRelationSpeedsGetResponse = z.object({ + data: z.array( + z.object({ + type: z.literal('speeds'), + id: z.int().default(1) + }) + ) +}); + +export const zTaskWrapperPatch = z.object({ + data: z.object({ + type: z.literal('taskWrapper'), + attributes: z.object({ + accessGroupId: z.int().optional(), + isArchived: z.boolean().optional(), + maxAgents: z.int().optional(), + priority: z.int().optional(), + taskWrapperName: z.string().optional() + }) + }) +}); + +export const zTaskWrapperResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('taskWrapper'), + attributes: z.object({ + priority: z.int(), + maxAgents: z.int(), + taskType: z.union([z.literal(0), z.literal(1)]), + hashlistId: z.int(), + accessGroupId: z.int(), + taskWrapperName: z.string(), + isArchived: z.boolean(), + cracked: z.int() + }) + }), + relationships: z + .object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/taskwrappers/accessGroup') }), - z.object({ - id: z.int(), - type: z.literal('crackerBinaryType'), - attributes: z.object({ - typeName: z.string(), - isChunkingAvailable: z.boolean() - }) + data: z + .object({ + type: z.literal('accessGroup'), + id: z.int() + }) + .nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashType'), + related: z.string().default('/api/v2/ui/taskwrappers/hashType') }), - z.object({ - id: z.int(), + data: z + .object({ + type: z.literal('hashType'), + id: z.int() + }) + .nullish() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashlist'), + related: z.string().default('/api/v2/ui/taskwrappers/hashlist') + }), + data: z + .object({ type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() + id: z.int() + }) + .nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/task'), + related: z.string().default('/api/v2/ui/taskwrappers/task') + }), + data: z + .object({ + type: z.literal('task'), + id: z.int() + }) + .nullish() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/tasks'), + related: z.string().default('/api/v2/ui/taskwrappers/tasks') + }), + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) }), z.object({ - id: z.int(), - type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) }), z.object({ - id: z.int(), - type: z.literal('file'), - attributes: z.object({ - filename: z.string(), - size: z.number(), - isSecret: z.boolean(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]), - accessGroupId: z.int(), - lineCount: z.number() - }) + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) }), z.object({ - id: z.int(), - type: z.literal('speed'), - attributes: z.object({ - agentId: z.int(), - taskId: z.int(), - speed: z.number(), - time: z.number() - }) - }) - ])).optional() -}); - -export const zTaskPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -5561,40 +6408,138 @@ export const zTaskPostPatchResponse = z.object({ chunkSize: z.number(), forcePipe: z.boolean(), preprocessorId: z.int(), - preprocessorCommand: z.string(), - activeAgents: z.int(), - dispatched: z.string(), - searched: z.string(), - status: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - estimatedTime: z.int(), - timeSpent: z.int(), - currentSpeed: z.int(), - cprogress: z.int() + preprocessorCommand: z.string() + }) }) - }) + ]) + ) + .optional() }); -export const zTaskListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/tasks?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/tasks?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/tasks?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ +export const zTaskWrapperSingleResponse = z.object({ + data: z.object({ + id: z.int(), + type: z.literal('taskWrapper'), + attributes: z.object({ + priority: z.int(), + maxAgents: z.int(), + taskType: z.union([z.literal(0), z.literal(1)]), + hashlistId: z.int(), + accessGroupId: z.int(), + taskWrapperName: z.string(), + isArchived: z.boolean(), + cracked: z.int() + }) + }), + relationships: z + .object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/taskwrappers/accessGroup') + }), + data: z + .object({ + type: z.literal('accessGroup'), + id: z.int() + }) + .nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashType'), + related: z.string().default('/api/v2/ui/taskwrappers/hashType') + }), + data: z + .object({ + type: z.literal('hashType'), + id: z.int() + }) + .nullish() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashlist'), + related: z.string().default('/api/v2/ui/taskwrappers/hashlist') + }), + data: z + .object({ + type: z.literal('hashlist'), + id: z.int() + }) + .nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/task'), + related: z.string().default('/api/v2/ui/taskwrappers/task') + }), + data: z + .object({ + type: z.literal('task'), + id: z.int() + }) + .nullish() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/tasks'), + related: z.string().default('/api/v2/ui/taskwrappers/tasks') + }), + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() + }) + ) + .optional() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) + }), + z.object({ + id: z.int(), + type: z.literal('task'), + attributes: z.object({ taskName: z.string(), attackCmd: z.string(), chunkTime: z.int(), @@ -5617,1059 +6562,628 @@ export const zTaskListResponse = z.object({ chunkSize: z.number(), forcePipe: z.boolean(), preprocessorId: z.int(), - preprocessorCommand: z.string(), - activeAgents: z.int(), - dispatched: z.string(), - searched: z.string(), - status: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - estimatedTime: z.int(), - timeSpent: z.int(), - currentSpeed: z.int(), - cprogress: z.int() - }) - })), - relationships: z.object({ - assignedAgents: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/assignedAgents'), - related: z.string().default('/api/v2/ui/tasks/assignedAgents') - }), - data: z.array(z.object({ - type: z.literal('agent'), - id: z.int() - })).optional() - }), - crackerBinary: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinary'), - related: z.string().default('/api/v2/ui/tasks/crackerBinary') - }), - data: z.object({ - type: z.literal('crackerBinary'), - id: z.int() - }).nullish() - }), - crackerBinaryType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/crackerBinaryType'), - related: z.string().default('/api/v2/ui/tasks/crackerBinaryType') - }), - data: z.object({ - type: z.literal('crackerBinaryType'), - id: z.int() - }).nullish() - }), - files: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/files'), - related: z.string().default('/api/v2/ui/tasks/files') - }), - data: z.array(z.object({ - type: z.literal('file'), - id: z.int() - })).optional() - }), - hashlist: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/hashlist'), - related: z.string().default('/api/v2/ui/tasks/hashlist') - }), - data: z.object({ - type: z.literal('hashlist'), - id: z.int() - }).nullish() - }), - speeds: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/tasks/relationships/speeds'), - related: z.string().default('/api/v2/ui/tasks/speeds') - }), - data: z.array(z.object({ - type: z.literal('speed'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ - z.object({ - id: z.int(), - type: z.literal('crackerBinary'), - attributes: z.object({ - crackerBinaryTypeId: z.int(), - version: z.string(), - downloadUrl: z.string(), - binaryName: z.string() - }) - }), - z.object({ - id: z.int(), - type: z.literal('crackerBinaryType'), - attributes: z.object({ - typeName: z.string(), - isChunkingAvailable: z.boolean() - }) - }), - z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() - }) - }), - z.object({ - id: z.int(), - type: z.literal('agent'), - attributes: z.object({ - agentName: z.string(), - uid: z.string(), - os: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - devices: z.string(), - cmdPars: z.string(), - ignoreErrors: z.union([ - z.literal(0), - z.literal(1), - z.literal(2) - ]), - isActive: z.boolean(), - isTrusted: z.boolean(), - token: z.string(), - lastAct: z.string(), - lastTime: z.number(), - lastIp: z.string(), - userId: z.int().nullable(), - cpuOnly: z.boolean(), - clientSignature: z.string() - }) - }), - z.object({ - id: z.int(), - type: z.literal('file'), - attributes: z.object({ - filename: z.string(), - size: z.number(), - isSecret: z.boolean(), - fileType: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(100) - ]), - accessGroupId: z.int(), - lineCount: z.number() - }) - }), - z.object({ - id: z.int(), - type: z.literal('speed'), - attributes: z.object({ - agentId: z.int(), - taskId: z.int(), - speed: z.number(), - time: z.number() - }) + preprocessorCommand: z.string() + }) }) - ])).optional() -}); - -export const zTaskRelationSpeeds = z.object({ - data: z.array(z.object({ - type: z.literal('speeds'), - id: z.int().default(1) - })) -}); - -export const zTaskRelationSpeedsGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('speeds'), - id: z.int().default(1) - })) + ]) + ) + .optional() }); -export const zTaskWrapperPatch = z.object({ - data: z.object({ - type: z.literal('taskWrapper'), - attributes: z.object({ - accessGroupId: z.int().optional(), - isArchived: z.boolean().optional(), - maxAgents: z.int().optional(), - priority: z.int().optional(), - taskWrapperName: z.string().optional() - }) +export const zTaskWrapperPostPatchResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('taskWrapper'), + attributes: z.object({ + priority: z.int(), + maxAgents: z.int(), + taskType: z.union([z.literal(0), z.literal(1)]), + hashlistId: z.int(), + accessGroupId: z.int(), + taskWrapperName: z.string(), + isArchived: z.boolean(), + cracked: z.int() }) + }) }); -export const zTaskWrapperResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('taskWrapper'), - attributes: z.object({ - priority: z.int(), - maxAgents: z.int(), - taskType: z.union([ - z.literal(0), - z.literal(1) - ]), - hashlistId: z.int(), - accessGroupId: z.int(), - taskWrapperName: z.string(), - isArchived: z.boolean(), - cracked: z.int() - }) - }), - relationships: z.object({ - accessGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), - related: z.string().default('/api/v2/ui/taskwrappers/accessGroup') - }), - data: z.object({ - type: z.literal('accessGroup'), - id: z.int() - }).nullish() - }), - hashType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashType'), - related: z.string().default('/api/v2/ui/taskwrappers/hashType') - }), - data: z.object({ - type: z.literal('hashType'), - id: z.int() - }).nullish() - }), - hashlist: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashlist'), - related: z.string().default('/api/v2/ui/taskwrappers/hashlist') - }), - data: z.object({ - type: z.literal('hashlist'), - id: z.int() - }).nullish() - }), - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/task'), - related: z.string().default('/api/v2/ui/taskwrappers/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/tasks'), - related: z.string().default('/api/v2/ui/taskwrappers/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ - z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) +export const zTaskWrapperListResponse = z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('taskWrapper'), + attributes: z.object({ + priority: z.int(), + maxAgents: z.int(), + taskType: z.union([z.literal(0), z.literal(1)]), + hashlistId: z.int(), + accessGroupId: z.int(), + taskWrapperName: z.string(), + isArchived: z.boolean(), + cracked: z.int() + }) + }) + ), + relationships: z + .object({ + accessGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), + related: z.string().default('/api/v2/ui/taskwrappers/accessGroup') }), - z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() - }) + data: z + .object({ + type: z.literal('accessGroup'), + id: z.int() + }) + .nullish() + }), + hashType: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashType'), + related: z.string().default('/api/v2/ui/taskwrappers/hashType') }), - z.object({ - id: z.int(), + data: z + .object({ type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() - }) - }), - z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) - }) - ])).optional() -}); - -export const zTaskWrapperSingleResponse = z.object({ - data: z.object({ - id: z.int(), - type: z.literal('taskWrapper'), - attributes: z.object({ - priority: z.int(), - maxAgents: z.int(), - taskType: z.union([ - z.literal(0), - z.literal(1) - ]), - hashlistId: z.int(), - accessGroupId: z.int(), - taskWrapperName: z.string(), - isArchived: z.boolean(), - cracked: z.int() - }) - }), - relationships: z.object({ - accessGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), - related: z.string().default('/api/v2/ui/taskwrappers/accessGroup') - }), - data: z.object({ - type: z.literal('accessGroup'), - id: z.int() - }).nullish() - }), - hashType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashType'), - related: z.string().default('/api/v2/ui/taskwrappers/hashType') - }), - data: z.object({ - type: z.literal('hashType'), - id: z.int() - }).nullish() - }), - hashlist: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashlist'), - related: z.string().default('/api/v2/ui/taskwrappers/hashlist') - }), - data: z.object({ - type: z.literal('hashlist'), - id: z.int() - }).nullish() - }), - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/task'), - related: z.string().default('/api/v2/ui/taskwrappers/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/tasks'), - related: z.string().default('/api/v2/ui/taskwrappers/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ - z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) + id: z.int() + }) + .nullish() + }), + hashlist: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashlist'), + related: z.string().default('/api/v2/ui/taskwrappers/hashlist') }), - z.object({ - id: z.int(), + data: z + .object({ type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() - }) - }), - z.object({ - id: z.int(), - type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() - }) + id: z.int() + }) + .nullish() + }), + task: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/task'), + related: z.string().default('/api/v2/ui/taskwrappers/task') }), - z.object({ - id: z.int(), + data: z + .object({ type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() + id: z.int() + }) + .nullish() + }), + tasks: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/taskwrappers/relationships/tasks'), + related: z.string().default('/api/v2/ui/taskwrappers/tasks') + }), + data: z + .array( + z.object({ + type: z.literal('task'), + id: z.int() }) - }) - ])).optional() -}); - -export const zTaskWrapperPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('taskWrapper'), - attributes: z.object({ - priority: z.int(), - maxAgents: z.int(), - taskType: z.union([ - z.literal(0), - z.literal(1) - ]), - hashlistId: z.int(), - accessGroupId: z.int(), - taskWrapperName: z.string(), - isArchived: z.boolean(), - cracked: z.int() - }) + ) + .optional() + }) }) -}); - -export const zTaskWrapperListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/taskwrappers?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('taskWrapper'), - attributes: z.object({ - priority: z.int(), - maxAgents: z.int(), - taskType: z.union([ - z.literal(0), - z.literal(1) - ]), - hashlistId: z.int(), - accessGroupId: z.int(), - taskWrapperName: z.string(), - isArchived: z.boolean(), - cracked: z.int() - }) - })), - relationships: z.object({ - accessGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/accessGroup'), - related: z.string().default('/api/v2/ui/taskwrappers/accessGroup') - }), - data: z.object({ - type: z.literal('accessGroup'), - id: z.int() - }).nullish() - }), - hashType: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashType'), - related: z.string().default('/api/v2/ui/taskwrappers/hashType') - }), - data: z.object({ - type: z.literal('hashType'), - id: z.int() - }).nullish() - }), - hashlist: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/hashlist'), - related: z.string().default('/api/v2/ui/taskwrappers/hashlist') - }), - data: z.object({ - type: z.literal('hashlist'), - id: z.int() - }).nullish() - }), - task: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/task'), - related: z.string().default('/api/v2/ui/taskwrappers/task') - }), - data: z.object({ - type: z.literal('task'), - id: z.int() - }).nullish() - }), - tasks: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/taskwrappers/relationships/tasks'), - related: z.string().default('/api/v2/ui/taskwrappers/tasks') - }), - data: z.array(z.object({ - type: z.literal('task'), - id: z.int() - })).optional() - }) - }).optional(), - included: z.array(z.union([ + .optional(), + included: z + .array( + z.union([ z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) }), z.object({ - id: z.int(), - type: z.literal('hashlist'), - attributes: z.object({ - name: z.string(), - format: z.union([ - z.literal(0), - z.literal(1), - z.literal(2), - z.literal(3) - ]), - hashTypeId: z.int(), - hashCount: z.int(), - separator: z.string().nullable(), - cracked: z.int(), - isSecret: z.boolean(), - isHexSalt: z.boolean(), - isSalted: z.boolean(), - accessGroupId: z.int(), - notes: z.string(), - useBrain: z.boolean(), - brainFeatures: z.int(), - isArchived: z.boolean() - }) + id: z.int(), + type: z.literal('hashlist'), + attributes: z.object({ + name: z.string(), + format: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3)]), + hashTypeId: z.int(), + hashCount: z.int(), + separator: z.string().nullable(), + cracked: z.int(), + isSecret: z.boolean(), + isHexSalt: z.boolean(), + isSalted: z.boolean(), + accessGroupId: z.int(), + notes: z.string(), + useBrain: z.boolean(), + brainFeatures: z.int(), + isArchived: z.boolean() + }) }), z.object({ - id: z.int(), - type: z.literal('hashType'), - attributes: z.object({ - description: z.string(), - isSalted: z.boolean(), - isSlowHash: z.boolean() - }) + id: z.int(), + type: z.literal('hashType'), + attributes: z.object({ + description: z.string(), + isSalted: z.boolean(), + isSlowHash: z.boolean() + }) }), z.object({ - id: z.int(), - type: z.literal('task'), - attributes: z.object({ - taskName: z.string(), - attackCmd: z.string(), - chunkTime: z.int(), - statusTimer: z.int(), - keyspace: z.number(), - keyspaceProgress: z.number(), - priority: z.int(), - maxAgents: z.int(), - color: z.string().nullable(), - isSmall: z.boolean(), - isCpuTask: z.boolean(), - useNewBench: z.boolean(), - skipKeyspace: z.number(), - crackerBinaryId: z.int(), - crackerBinaryTypeId: z.int(), - taskWrapperId: z.int(), - isArchived: z.boolean(), - notes: z.string(), - staticChunks: z.int(), - chunkSize: z.number(), - forcePipe: z.boolean(), - preprocessorId: z.int(), - preprocessorCommand: z.string() - }) + id: z.int(), + type: z.literal('task'), + attributes: z.object({ + taskName: z.string(), + attackCmd: z.string(), + chunkTime: z.int(), + statusTimer: z.int(), + keyspace: z.number(), + keyspaceProgress: z.number(), + priority: z.int(), + maxAgents: z.int(), + color: z.string().nullable(), + isSmall: z.boolean(), + isCpuTask: z.boolean(), + useNewBench: z.boolean(), + skipKeyspace: z.number(), + crackerBinaryId: z.int(), + crackerBinaryTypeId: z.int(), + taskWrapperId: z.int(), + isArchived: z.boolean(), + notes: z.string(), + staticChunks: z.int(), + chunkSize: z.number(), + forcePipe: z.boolean(), + preprocessorId: z.int(), + preprocessorCommand: z.string() + }) }) - ])).optional() + ]) + ) + .optional() }); export const zTaskWrapperRelationTasks = z.object({ - data: z.array(z.object({ - type: z.literal('tasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('tasks'), + id: z.int().default(1) + }) + ) }); export const zTaskWrapperRelationTasksGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('tasks'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('tasks'), + id: z.int().default(1) + }) + ) }); export const zUserCreate = z.object({ - data: z.object({ - type: z.literal('user'), - attributes: z.object({ - name: z.string(), - email: z.string(), - globalPermissionGroupId: z.int() - }) + data: z.object({ + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + globalPermissionGroupId: z.int() }) + }) }); export const zUserPatch = z.object({ - data: z.object({ - type: z.literal('user'), - attributes: z.object({ - email: z.string().optional(), - globalPermissionGroupId: z.int().optional(), - isValid: z.boolean().optional(), - sessionLifetime: z.int().optional() - }) + data: z.object({ + type: z.literal('user'), + attributes: z.object({ + email: z.string().optional(), + globalPermissionGroupId: z.int().optional(), + isValid: z.boolean().optional(), + sessionLifetime: z.int().optional() }) + }) }); export const zUserResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/users?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('user'), - attributes: z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/users?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }), + relationships: z + .object({ + accessGroups: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/users/relationships/accessGroups'), + related: z.string().default('/api/v2/ui/users/accessGroups') + }), + data: z + .array( + z.object({ + type: z.literal('accessGroup'), + id: z.int() + }) + ) + .optional() + }), + globalPermissionGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/users/relationships/globalPermissionGroup'), + related: z.string().default('/api/v2/ui/users/globalPermissionGroup') + }), + data: z + .object({ + type: z.literal('globalPermissionGroup'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('globalPermissionGroup'), + attributes: z.object({ name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - }), - relationships: z.object({ - accessGroups: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/users/relationships/accessGroups'), - related: z.string().default('/api/v2/ui/users/accessGroups') - }), - data: z.array(z.object({ - type: z.literal('accessGroup'), - id: z.int() - })).optional() - }), - globalPermissionGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/users/relationships/globalPermissionGroup'), - related: z.string().default('/api/v2/ui/users/globalPermissionGroup') - }), - data: z.object({ - type: z.literal('globalPermissionGroup'), - id: z.int() - }).nullish() + permissions: z.record(z.string(), z.boolean()) + }) + }), + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), - type: z.literal('globalPermissionGroup'), - attributes: z.object({ - name: z.string(), - permissions: z.record(z.string(), z.boolean()) - }) - }), z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) - })])).optional() + ]) + ) + .optional() }); export const zUserPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('user'), - attributes: z.object({ - name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() }) + }) }); export const zUserListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/users?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('user'), - attributes: z.object({ + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/users?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/users?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/users?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('user'), + attributes: z.object({ + name: z.string(), + email: z.string(), + isValid: z.boolean(), + isComputedPassword: z.boolean(), + lastLoginDate: z.number(), + registeredSince: z.number(), + sessionLifetime: z.int(), + globalPermissionGroupId: z.int(), + yubikey: z.string(), + otp1: z.string(), + otp2: z.string(), + otp3: z.string(), + otp4: z.string() + }) + }) + ), + relationships: z + .object({ + accessGroups: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/users/relationships/accessGroups'), + related: z.string().default('/api/v2/ui/users/accessGroups') + }), + data: z + .array( + z.object({ + type: z.literal('accessGroup'), + id: z.int() + }) + ) + .optional() + }), + globalPermissionGroup: z.object({ + links: z.object({ + self: z.string().default('/api/v2/ui/users/relationships/globalPermissionGroup'), + related: z.string().default('/api/v2/ui/users/globalPermissionGroup') + }), + data: z + .object({ + type: z.literal('globalPermissionGroup'), + id: z.int() + }) + .nullish() + }) + }) + .optional(), + included: z + .array( + z.union([ + z.object({ + id: z.int(), + type: z.literal('globalPermissionGroup'), + attributes: z.object({ name: z.string(), - email: z.string(), - isValid: z.boolean(), - isComputedPassword: z.boolean(), - lastLoginDate: z.number(), - registeredSince: z.number(), - sessionLifetime: z.int(), - globalPermissionGroupId: z.int(), - yubikey: z.string(), - otp1: z.string(), - otp2: z.string(), - otp3: z.string(), - otp4: z.string() - }) - })), - relationships: z.object({ - accessGroups: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/users/relationships/accessGroups'), - related: z.string().default('/api/v2/ui/users/accessGroups') - }), - data: z.array(z.object({ - type: z.literal('accessGroup'), - id: z.int() - })).optional() - }), - globalPermissionGroup: z.object({ - links: z.object({ - self: z.string().default('/api/v2/ui/users/relationships/globalPermissionGroup'), - related: z.string().default('/api/v2/ui/users/globalPermissionGroup') - }), - data: z.object({ - type: z.literal('globalPermissionGroup'), - id: z.int() - }).nullish() + permissions: z.record(z.string(), z.boolean()) + }) + }), + z.object({ + id: z.int(), + type: z.literal('accessGroup'), + attributes: z.object({ + groupName: z.string() + }) }) - }).optional(), - included: z.array(z.union([z.object({ - id: z.int(), - type: z.literal('globalPermissionGroup'), - attributes: z.object({ - name: z.string(), - permissions: z.record(z.string(), z.boolean()) - }) - }), z.object({ - id: z.int(), - type: z.literal('accessGroup'), - attributes: z.object({ - groupName: z.string() - }) - })])).optional() + ]) + ) + .optional() }); export const zUserRelationAccessGroups = z.object({ - data: z.array(z.object({ - type: z.literal('accessGroups'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('accessGroups'), + id: z.int().default(1) + }) + ) }); export const zUserRelationAccessGroupsGetResponse = z.object({ - data: z.array(z.object({ - type: z.literal('accessGroups'), - id: z.int().default(1) - })) + data: z.array( + z.object({ + type: z.literal('accessGroups'), + id: z.int().default(1) + }) + ) }); export const zVoucherCreate = z.object({ - data: z.object({ - type: z.literal('voucher'), - attributes: z.object({ - voucher: z.string() - }) + data: z.object({ + type: z.literal('voucher'), + attributes: z.object({ + voucher: z.string() }) + }) }); export const zVoucherPatch = z.object({ - data: z.object({ - type: z.literal('voucher'), - attributes: z.object({ - voucher: z.string().optional() - }) + data: z.object({ + type: z.literal('voucher'), + attributes: z.object({ + voucher: z.string().optional() }) + }) }); export const zVoucherResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') - }).optional(), - data: z.object({ - id: z.int(), - type: z.literal('voucher'), - attributes: z.object({ - voucher: z.string(), - time: z.number() - }) - }), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') + }) + .optional(), + data: z.object({ + id: z.int(), + type: z.literal('voucher'), + attributes: z.object({ + voucher: z.string(), + time: z.number() + }) + }), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zVoucherPostPatchResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - data: z.object({ - id: z.int(), - type: z.literal('voucher'), - attributes: z.object({ - voucher: z.string(), - time: z.number() - }) + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + data: z.object({ + id: z.int(), + type: z.literal('voucher'), + attributes: z.object({ + voucher: z.string(), + time: z.number() }) + }) }); export const zVoucherListResponse = z.object({ - jsonapi: z.object({ - version: z.string().default('1.1'), - ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) - }), - links: z.object({ - self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), - first: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=0'), - last: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=500'), - next: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), - previous: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') - }).optional(), - data: z.array(z.object({ - id: z.int(), - type: z.literal('voucher'), - attributes: z.object({ - voucher: z.string(), - time: z.number() - }) - })), - relationships: z.record(z.string(), z.unknown()).optional(), - included: z.array(z.unknown()).optional() + jsonapi: z.object({ + version: z.string().default('1.1'), + ext: z.array(z.string()).optional().default(['https://jsonapi.org/profiles/ethanresnick/cursor-pagination']) + }), + links: z + .object({ + self: z.string().default('/api/v2/ui/vouchers?page[size]=25'), + first: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[after]=0'), + last: z.string().optional().default('/api/v2/ui/vouchers?page[size]=25&page[before]=500'), + next: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[after]=25'), + previous: z.string().nullish().default('/api/v2/ui/vouchers?page[size]=25&page[before]=25') + }) + .optional(), + data: z.array( + z.object({ + id: z.int(), + type: z.literal('voucher'), + attributes: z.object({ + voucher: z.string(), + time: z.number() + }) + }) + ), + relationships: z.record(z.string(), z.unknown()).optional(), + included: z.array(z.unknown()).optional() }); export const zAbortChunkHelperApi = z.object({ - chunkId: z.int().optional() + chunkId: z.int().optional() }); -export const zAbortChunkHelperApiResponse = z.array(z.object({ +export const zAbortChunkHelperApiResponse = z.array( + z.object({ Abort: z.string().optional().default('Success') -})); + }) +); export const zAssignAgentHelperApi = z.object({ - agentId: z.int().optional(), - taskId: z.int().optional() + agentId: z.int().optional(), + taskId: z.int().optional() }); -export const zAssignAgentHelperApiResponse = z.array(z.object({ +export const zAssignAgentHelperApiResponse = z.array( + z.object({ Assign: z.string().optional().default('Success') -})); + }) +); export const zBulkSupertaskBuilderHelperApi = z.object({ - name: z.string().optional(), - isCpu: z.boolean().optional(), - isSmall: z.boolean().optional(), - crackerBinaryTypeId: z.int().optional(), - benchtype: z.string().optional(), - command: z.string().optional(), - maxAgents: z.int().optional(), - basefiles: z.array(z.int()).optional(), - iterfiles: z.array(z.int()).optional() + name: z.string().optional(), + isCpu: z.boolean().optional(), + isSmall: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional(), + benchtype: z.string().optional(), + command: z.string().optional(), + maxAgents: z.int().optional(), + basefiles: z.array(z.int()).optional(), + iterfiles: z.array(z.int()).optional() }); export const zChangeOwnPasswordHelperApi = z.object({ - oldPassword: z.string().optional(), - newPassword: z.string().optional(), - confirmPassword: z.string().optional() + oldPassword: z.string().optional(), + newPassword: z.string().optional(), + confirmPassword: z.string().optional() }); -export const zChangeOwnPasswordHelperApiResponse = z.array(z.object({ +export const zChangeOwnPasswordHelperApiResponse = z.array( + z.object({ 'Change password': z.string().optional().default('Password succesfully updated!') -})); + }) +); export const zCreateSuperHashlistHelperApi = z.object({ - hashlistIds: z.array(z.int()).optional(), - name: z.string().optional() + hashlistIds: z.array(z.int()).optional(), + name: z.string().optional() }); export const zCreateSupertaskHelperApi = z.object({ - supertaskTemplateId: z.int().optional(), - hashlistId: z.int().optional(), - crackerVersionId: z.int().optional() + supertaskTemplateId: z.int().optional(), + hashlistId: z.int().optional(), + crackerVersionId: z.int().optional() }); export const zExportCrackedHashesHelperApi = z.object({ - hashlistId: z.int().optional() + hashlistId: z.int().optional() }); export const zExportLeftHashesHelperApi = z.object({ - hashlistId: z.int().optional() + hashlistId: z.int().optional() }); export const zExportWordlistHelperApi = z.object({ - hashlistId: z.int().optional() + hashlistId: z.int().optional() }); export const zImportCrackedHashesHelperApi = z.object({ - hashlistId: z.int().optional(), - sourceType: z.string().optional(), - sourceData: z.string().optional(), - separator: z.string().optional(), - overwrite: z.int().optional() + hashlistId: z.int().optional(), + sourceType: z.string().optional(), + sourceData: z.string().optional(), + separator: z.string().optional(), + overwrite: z.int().optional() }); -export const zImportCrackedHashesHelperApiResponse = z.array(z.object({ +export const zImportCrackedHashesHelperApiResponse = z.array( + z.object({ totalLines: z.int().optional().default(100), newCracked: z.int().optional().default(5), alreadyCracked: z.int().optional().default(2), @@ -6677,147 +7191,201 @@ export const zImportCrackedHashesHelperApiResponse = z.array(z.object({ notFound: z.int().optional().default(1), processTime: z.int().optional().default(60), tooLongPlaintexts: z.int().optional().default(4) -})); + }) +); export const zImportFileHelperApi = z.record(z.string(), z.unknown()); export const zMaskSupertaskBuilderHelperApi = z.object({ - name: z.string().optional(), - isCpu: z.boolean().optional(), - isSmall: z.boolean().optional(), - optimized: z.boolean().optional(), - crackerBinaryTypeId: z.int().optional(), - benchtype: z.string().optional(), - masks: z.string().optional(), - maxAgents: z.int().optional() + name: z.string().optional(), + isCpu: z.boolean().optional(), + isSmall: z.boolean().optional(), + optimized: z.boolean().optional(), + crackerBinaryTypeId: z.int().optional(), + benchtype: z.string().optional(), + masks: z.string().optional(), + maxAgents: z.int().optional() }); export const zPurgeTaskHelperApi = z.object({ - taskId: z.int().optional() + taskId: z.int().optional() }); -export const zPurgeTaskHelperApiResponse = z.array(z.object({ +export const zPurgeTaskHelperApiResponse = z.array( + z.object({ Purge: z.string().optional().default('Success') -})); + }) +); export const zRebuildChunkCacheHelperApi = z.record(z.string(), z.unknown()); -export const zRebuildChunkCacheHelperApiResponse = z.array(z.object({ +export const zRebuildChunkCacheHelperApiResponse = z.array( + z.object({ Rebuild: z.string().optional().default('Success') -})); + }) +); export const zRecountFileLinesHelperApi = z.object({ - fileId: z.int().optional() + fileId: z.int().optional() }); export const zRescanGlobalFilesHelperApi = z.record(z.string(), z.unknown()); -export const zRescanGlobalFilesHelperApiResponse = z.array(z.object({ +export const zRescanGlobalFilesHelperApiResponse = z.array( + z.object({ Rescan: z.string().optional().default('Success') -})); + }) +); export const zResetChunkHelperApi = z.object({ - chunkId: z.int().optional() + chunkId: z.int().optional() }); -export const zResetChunkHelperApiResponse = z.array(z.object({ +export const zResetChunkHelperApiResponse = z.array( + z.object({ Reset: z.string().optional().default('Success') -})); + }) +); export const zResetUserPasswordHelperApi = z.object({ - email: z.string().optional(), - username: z.string().optional() + email: z.string().optional(), + username: z.string().optional() }); -export const zResetUserPasswordHelperApiResponse = z.array(z.object({ +export const zResetUserPasswordHelperApiResponse = z.array( + z.object({ Reset: z.string().optional().default('Success') -})); + }) +); export const zSearchHashesHelperApi = z.object({ - searchData: z.string().optional(), - separator: z.string().optional(), - isSalted: z.boolean().optional() + searchData: z.string().optional(), + separator: z.string().optional(), + isSalted: z.boolean().optional() }); -export const zSearchHashesHelperApiResponse = z.array(z.object({ +export const zSearchHashesHelperApiResponse = z.array( + z.object({ 0: z.record(z.string(), z.unknown()).optional().default({ found: false, query: '12345678' }), - 1: z.record(z.string(), z.unknown()).optional().default({ + 1: z + .record(z.string(), z.unknown()) + .optional() + .default({ found: true, query: '54321', - matches: [{ - type: 'hash', - id: 552, - attributes: { - hashlistId: 5, - hash: '7682543218768', - salt: '', - plaintext: '', - timeCracked: 0, - chunkId: null, - isCracked: false, - crackPos: 0 - }, - links: { self: '/api/v2/ui/hashes/552' }, - relationships: { chunk: { links: { self: '/api/v2/ui/hashes/552/relationships/chunk', related: '/api/v2/ui/hashes/552/chunk' } }, hashlist: { links: { self: '/api/v2/ui/hashes/552/relationships/hashlist', related: '/api/v2/ui/hashes/552/hashlist' } } } - }, { - type: 'hash', - id: 1, - attributes: { - hashlistId: 5, - hash: '54321768671', - salt: '', - plaintext: '', - timeCracked: 0, - chunkId: null, - isCracked: false, - crackPos: 0 - }, - links: { self: '/api/v2/ui/hashes/1' }, - relationships: { chunk: { links: { self: '/api/v2/ui/hashes/1/relationships/chunk', related: '/api/v2/ui/hashes/1/chunk' } }, hashlist: { links: { self: '/api/v2/ui/hashes/1/relationships/hashlist', related: '/api/v2/ui/hashes/1/hashlist' } } } - }] - }) -})); + matches: [ + { + type: 'hash', + id: 552, + attributes: { + hashlistId: 5, + hash: '7682543218768', + salt: '', + plaintext: '', + timeCracked: 0, + chunkId: null, + isCracked: false, + crackPos: 0 + }, + links: { self: '/api/v2/ui/hashes/552' }, + relationships: { + chunk: { + links: { self: '/api/v2/ui/hashes/552/relationships/chunk', related: '/api/v2/ui/hashes/552/chunk' } + }, + hashlist: { + links: { + self: '/api/v2/ui/hashes/552/relationships/hashlist', + related: '/api/v2/ui/hashes/552/hashlist' + } + } + } + }, + { + type: 'hash', + id: 1, + attributes: { + hashlistId: 5, + hash: '54321768671', + salt: '', + plaintext: '', + timeCracked: 0, + chunkId: null, + isCracked: false, + crackPos: 0 + }, + links: { self: '/api/v2/ui/hashes/1' }, + relationships: { + chunk: { + links: { self: '/api/v2/ui/hashes/1/relationships/chunk', related: '/api/v2/ui/hashes/1/chunk' } + }, + hashlist: { + links: { self: '/api/v2/ui/hashes/1/relationships/hashlist', related: '/api/v2/ui/hashes/1/hashlist' } + } + } + } + ] + }) + }) +); export const zSetUserPasswordHelperApi = z.object({ - userId: z.int().optional(), - password: z.string().optional() + userId: z.int().optional(), + password: z.string().optional() }); -export const zSetUserPasswordHelperApiResponse = z.array(z.object({ +export const zSetUserPasswordHelperApiResponse = z.array( + z.object({ 'Set password': z.string().optional().default('Success') -})); + }) +); export const zUnassignAgentHelperApi = z.object({ - agentId: z.int().optional() + agentId: z.int().optional() }); -export const zUnassignAgentHelperApiResponse = z.array(z.object({ +export const zUnassignAgentHelperApiResponse = z.array( + z.object({ Unassign: z.string().optional().default('Success') -})); + }) +); export const zToken = z.object({ - token: z.string(), - expires: z.int() + token: z.string(), + expires: z.int() }); export const zTokenRequest = z.array(z.string()); export const zDeleteAccessgroupsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetAccessgroupsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -6826,15 +7394,15 @@ export const zGetAccessgroupsData = z.object({ export const zGetAccessgroupsResponse = zAccessGroupListResponse; export const zPatchAccessgroupsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostAccessgroupsData = z.object({ - body: zAccessGroupCreate, - path: z.never().optional(), - query: z.never().optional() + body: zAccessGroupCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -6843,15 +7411,29 @@ export const zPostAccessgroupsData = z.object({ export const zPostAccessgroupsResponse = zAccessGroupPostPatchResponse; export const zGetAccessgroupsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -6860,12 +7442,15 @@ export const zGetAccessgroupsCountData = z.object({ export const zGetAccessgroupsCountResponse = zAccessGroupListResponse; export const zGetAccessgroupsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -6874,12 +7459,12 @@ export const zGetAccessgroupsByIdByRelationData = z.object({ export const zGetAccessgroupsByIdByRelationResponse = zAccessGroupRelationAgentMembersGetResponse; export const zDeleteAccessgroupsByIdRelationshipsByRelationData = z.object({ - body: zAccessGroupRelationAgentMembers, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zAccessGroupRelationAgentMembers, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -6888,12 +7473,15 @@ export const zDeleteAccessgroupsByIdRelationshipsByRelationData = z.object({ export const zDeleteAccessgroupsByIdRelationshipsByRelationResponse = z.void(); export const zGetAccessgroupsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -6902,12 +7490,12 @@ export const zGetAccessgroupsByIdRelationshipsByRelationData = z.object({ export const zGetAccessgroupsByIdRelationshipsByRelationResponse = zAccessGroupResponse; export const zPatchAccessgroupsByIdRelationshipsByRelationData = z.object({ - body: zAccessGroupRelationAgentMembers, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zAccessGroupRelationAgentMembers, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -6916,12 +7504,12 @@ export const zPatchAccessgroupsByIdRelationshipsByRelationData = z.object({ export const zPatchAccessgroupsByIdRelationshipsByRelationResponse = z.void(); export const zPostAccessgroupsByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -6930,11 +7518,11 @@ export const zPostAccessgroupsByIdRelationshipsByRelationData = z.object({ export const zPostAccessgroupsByIdRelationshipsByRelationResponse = z.void(); export const zDeleteAccessgroupsByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -6943,13 +7531,18 @@ export const zDeleteAccessgroupsByIdData = z.object({ export const zDeleteAccessgroupsByIdResponse = z.void(); export const zGetAccessgroupsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -6958,11 +7551,11 @@ export const zGetAccessgroupsByIdData = z.object({ export const zGetAccessgroupsByIdResponse = zAccessGroupResponse; export const zPatchAccessgroupsByIdData = z.object({ - body: zAccessGroupPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zAccessGroupPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -6971,21 +7564,35 @@ export const zPatchAccessgroupsByIdData = z.object({ export const zPatchAccessgroupsByIdResponse = zAccessGroupPostPatchResponse; export const zDeleteAgentsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetAgentsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -6994,21 +7601,35 @@ export const zGetAgentsData = z.object({ export const zGetAgentsResponse = zAgentListResponse; export const zPatchAgentsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetAgentsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7017,12 +7638,15 @@ export const zGetAgentsCountData = z.object({ export const zGetAgentsCountResponse = zAgentListResponse; export const zGetAgentsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7031,12 +7655,12 @@ export const zGetAgentsByIdByRelationData = z.object({ export const zGetAgentsByIdByRelationResponse = zAgentRelationAssignmentsGetResponse; export const zDeleteAgentsByIdRelationshipsByRelationData = z.object({ - body: zAgentRelationAssignments, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zAgentRelationAssignments, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7045,12 +7669,15 @@ export const zDeleteAgentsByIdRelationshipsByRelationData = z.object({ export const zDeleteAgentsByIdRelationshipsByRelationResponse = z.void(); export const zGetAgentsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7059,12 +7686,12 @@ export const zGetAgentsByIdRelationshipsByRelationData = z.object({ export const zGetAgentsByIdRelationshipsByRelationResponse = zAgentResponse; export const zPatchAgentsByIdRelationshipsByRelationData = z.object({ - body: zAgentRelationAssignments, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zAgentRelationAssignments, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7073,12 +7700,12 @@ export const zPatchAgentsByIdRelationshipsByRelationData = z.object({ export const zPatchAgentsByIdRelationshipsByRelationResponse = z.void(); export const zPostAgentsByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7087,11 +7714,11 @@ export const zPostAgentsByIdRelationshipsByRelationData = z.object({ export const zPostAgentsByIdRelationshipsByRelationResponse = z.void(); export const zDeleteAgentsByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7100,13 +7727,18 @@ export const zDeleteAgentsByIdData = z.object({ export const zDeleteAgentsByIdResponse = z.void(); export const zGetAgentsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -7115,11 +7747,11 @@ export const zGetAgentsByIdData = z.object({ export const zGetAgentsByIdResponse = zAgentResponse; export const zPatchAgentsByIdData = z.object({ - body: zAgentPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zAgentPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7128,21 +7760,35 @@ export const zPatchAgentsByIdData = z.object({ export const zPatchAgentsByIdResponse = zAgentPostPatchResponse; export const zDeleteAgentassignmentsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetAgentassignmentsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7151,15 +7797,15 @@ export const zGetAgentassignmentsData = z.object({ export const zGetAgentassignmentsResponse = zAgentAssignmentListResponse; export const zPatchAgentassignmentsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostAgentassignmentsData = z.object({ - body: zAgentAssignmentCreate, - path: z.never().optional(), - query: z.never().optional() + body: zAgentAssignmentCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -7168,15 +7814,29 @@ export const zPostAgentassignmentsData = z.object({ export const zPostAgentassignmentsResponse = zAgentAssignmentPostPatchResponse; export const zGetAgentassignmentsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7185,12 +7845,15 @@ export const zGetAgentassignmentsCountData = z.object({ export const zGetAgentassignmentsCountResponse = zAgentAssignmentListResponse; export const zGetAgentassignmentsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7199,12 +7862,15 @@ export const zGetAgentassignmentsByIdByRelationData = z.object({ export const zGetAgentassignmentsByIdByRelationResponse = zAgentAssignmentRelationTaskGetResponse; export const zGetAgentassignmentsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7213,12 +7879,12 @@ export const zGetAgentassignmentsByIdRelationshipsByRelationData = z.object({ export const zGetAgentassignmentsByIdRelationshipsByRelationResponse = zAgentAssignmentResponse; export const zPatchAgentassignmentsByIdRelationshipsByRelationData = z.object({ - body: zAgentAssignmentRelationTask, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zAgentAssignmentRelationTask, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7227,11 +7893,11 @@ export const zPatchAgentassignmentsByIdRelationshipsByRelationData = z.object({ export const zPatchAgentassignmentsByIdRelationshipsByRelationResponse = z.void(); export const zDeleteAgentassignmentsByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7240,13 +7906,18 @@ export const zDeleteAgentassignmentsByIdData = z.object({ export const zDeleteAgentassignmentsByIdResponse = z.void(); export const zGetAgentassignmentsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -7255,11 +7926,11 @@ export const zGetAgentassignmentsByIdData = z.object({ export const zGetAgentassignmentsByIdResponse = zAgentAssignmentResponse; export const zPatchAgentassignmentsByIdData = z.object({ - body: zAgentAssignmentPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zAgentAssignmentPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7268,21 +7939,35 @@ export const zPatchAgentassignmentsByIdData = z.object({ export const zPatchAgentassignmentsByIdResponse = zAgentAssignmentPostPatchResponse; export const zDeleteAgentbinariesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetAgentbinariesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7291,15 +7976,15 @@ export const zGetAgentbinariesData = z.object({ export const zGetAgentbinariesResponse = zAgentBinaryListResponse; export const zPatchAgentbinariesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostAgentbinariesData = z.object({ - body: zAgentBinaryCreate, - path: z.never().optional(), - query: z.never().optional() + body: zAgentBinaryCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -7308,15 +7993,29 @@ export const zPostAgentbinariesData = z.object({ export const zPostAgentbinariesResponse = zAgentBinaryPostPatchResponse; export const zGetAgentbinariesCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7325,11 +8024,11 @@ export const zGetAgentbinariesCountData = z.object({ export const zGetAgentbinariesCountResponse = zAgentBinaryListResponse; export const zDeleteAgentbinariesByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7338,13 +8037,18 @@ export const zDeleteAgentbinariesByIdData = z.object({ export const zDeleteAgentbinariesByIdResponse = z.void(); export const zGetAgentbinariesByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -7353,11 +8057,11 @@ export const zGetAgentbinariesByIdData = z.object({ export const zGetAgentbinariesByIdResponse = zAgentBinaryResponse; export const zPatchAgentbinariesByIdData = z.object({ - body: zAgentBinaryPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zAgentBinaryPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7366,21 +8070,35 @@ export const zPatchAgentbinariesByIdData = z.object({ export const zPatchAgentbinariesByIdResponse = zAgentBinaryPostPatchResponse; export const zDeleteAgenterrorsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetAgenterrorsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7389,15 +8107,29 @@ export const zGetAgenterrorsData = z.object({ export const zGetAgenterrorsResponse = zAgentErrorListResponse; export const zGetAgenterrorsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7406,12 +8138,15 @@ export const zGetAgenterrorsCountData = z.object({ export const zGetAgenterrorsCountResponse = zAgentErrorListResponse; export const zGetAgenterrorsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7420,12 +8155,15 @@ export const zGetAgenterrorsByIdByRelationData = z.object({ export const zGetAgenterrorsByIdByRelationResponse = zAgentErrorRelationTaskGetResponse; export const zGetAgenterrorsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7434,12 +8172,12 @@ export const zGetAgenterrorsByIdRelationshipsByRelationData = z.object({ export const zGetAgenterrorsByIdRelationshipsByRelationResponse = zAgentErrorResponse; export const zPatchAgenterrorsByIdRelationshipsByRelationData = z.object({ - body: zAgentErrorRelationTask, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zAgentErrorRelationTask, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7448,11 +8186,11 @@ export const zPatchAgenterrorsByIdRelationshipsByRelationData = z.object({ export const zPatchAgenterrorsByIdRelationshipsByRelationResponse = z.void(); export const zDeleteAgenterrorsByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7461,13 +8199,18 @@ export const zDeleteAgenterrorsByIdData = z.object({ export const zDeleteAgenterrorsByIdResponse = z.void(); export const zGetAgenterrorsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -7476,21 +8219,35 @@ export const zGetAgenterrorsByIdData = z.object({ export const zGetAgenterrorsByIdResponse = zAgentErrorResponse; export const zDeleteAgentstatsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetAgentstatsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7499,15 +8256,29 @@ export const zGetAgentstatsData = z.object({ export const zGetAgentstatsResponse = zAgentStatListResponse; export const zGetAgentstatsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7516,11 +8287,11 @@ export const zGetAgentstatsCountData = z.object({ export const zGetAgentstatsCountResponse = zAgentStatListResponse; export const zDeleteAgentstatsByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7529,13 +8300,18 @@ export const zDeleteAgentstatsByIdData = z.object({ export const zDeleteAgentstatsByIdResponse = z.void(); export const zGetAgentstatsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -7544,21 +8320,35 @@ export const zGetAgentstatsByIdData = z.object({ export const zGetAgentstatsByIdResponse = zAgentStatResponse; export const zDeleteApiTokensData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetApiTokensData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7567,15 +8357,15 @@ export const zGetApiTokensData = z.object({ export const zGetApiTokensResponse = zApiTokenListResponse; export const zPatchApiTokensData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostApiTokensData = z.object({ - body: zApiTokenCreate, - path: z.never().optional(), - query: z.never().optional() + body: zApiTokenCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -7584,15 +8374,29 @@ export const zPostApiTokensData = z.object({ export const zPostApiTokensResponse = zApiTokenPostPatchResponse; export const zGetApiTokensCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7601,12 +8405,15 @@ export const zGetApiTokensCountData = z.object({ export const zGetApiTokensCountResponse = zApiTokenListResponse; export const zGetApiTokensByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7615,12 +8422,15 @@ export const zGetApiTokensByIdByRelationData = z.object({ export const zGetApiTokensByIdByRelationResponse = zApiTokenRelationUserGetResponse; export const zGetApiTokensByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7629,12 +8439,12 @@ export const zGetApiTokensByIdRelationshipsByRelationData = z.object({ export const zGetApiTokensByIdRelationshipsByRelationResponse = zApiTokenResponse; export const zPatchApiTokensByIdRelationshipsByRelationData = z.object({ - body: zApiTokenRelationUser, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zApiTokenRelationUser, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7643,11 +8453,11 @@ export const zPatchApiTokensByIdRelationshipsByRelationData = z.object({ export const zPatchApiTokensByIdRelationshipsByRelationResponse = z.void(); export const zDeleteApiTokensByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7656,13 +8466,18 @@ export const zDeleteApiTokensByIdData = z.object({ export const zDeleteApiTokensByIdResponse = z.void(); export const zGetApiTokensByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -7671,11 +8486,11 @@ export const zGetApiTokensByIdData = z.object({ export const zGetApiTokensByIdResponse = zApiTokenResponse; export const zPatchApiTokensByIdData = z.object({ - body: zApiTokenPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zApiTokenPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7684,15 +8499,29 @@ export const zPatchApiTokensByIdData = z.object({ export const zPatchApiTokensByIdResponse = zApiTokenPostPatchResponse; export const zGetChunksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7701,15 +8530,29 @@ export const zGetChunksData = z.object({ export const zGetChunksResponse = zChunkListResponse; export const zGetChunksCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7718,12 +8561,15 @@ export const zGetChunksCountData = z.object({ export const zGetChunksCountResponse = zChunkListResponse; export const zGetChunksByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7732,12 +8578,15 @@ export const zGetChunksByIdByRelationData = z.object({ export const zGetChunksByIdByRelationResponse = zChunkRelationTaskGetResponse; export const zGetChunksByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7746,12 +8595,12 @@ export const zGetChunksByIdRelationshipsByRelationData = z.object({ export const zGetChunksByIdRelationshipsByRelationResponse = zChunkResponse; export const zPatchChunksByIdRelationshipsByRelationData = z.object({ - body: zChunkRelationTask, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zChunkRelationTask, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7760,13 +8609,18 @@ export const zPatchChunksByIdRelationshipsByRelationData = z.object({ export const zPatchChunksByIdRelationshipsByRelationResponse = z.void(); export const zGetChunksByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -7775,15 +8629,29 @@ export const zGetChunksByIdData = z.object({ export const zGetChunksByIdResponse = zChunkResponse; export const zGetConfigsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7792,21 +8660,35 @@ export const zGetConfigsData = z.object({ export const zGetConfigsResponse = zConfigListResponse; export const zPatchConfigsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetConfigsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7815,12 +8697,15 @@ export const zGetConfigsCountData = z.object({ export const zGetConfigsCountResponse = zConfigListResponse; export const zGetConfigsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7829,12 +8714,15 @@ export const zGetConfigsByIdByRelationData = z.object({ export const zGetConfigsByIdByRelationResponse = zConfigRelationConfigSectionGetResponse; export const zGetConfigsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7843,12 +8731,12 @@ export const zGetConfigsByIdRelationshipsByRelationData = z.object({ export const zGetConfigsByIdRelationshipsByRelationResponse = zConfigResponse; export const zPatchConfigsByIdRelationshipsByRelationData = z.object({ - body: zConfigRelationConfigSection, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zConfigRelationConfigSection, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -7857,13 +8745,18 @@ export const zPatchConfigsByIdRelationshipsByRelationData = z.object({ export const zPatchConfigsByIdRelationshipsByRelationResponse = z.void(); export const zGetConfigsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -7872,11 +8765,11 @@ export const zGetConfigsByIdData = z.object({ export const zGetConfigsByIdResponse = zConfigResponse; export const zPatchConfigsByIdData = z.object({ - body: zConfigPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zConfigPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -7885,15 +8778,29 @@ export const zPatchConfigsByIdData = z.object({ export const zPatchConfigsByIdResponse = zConfigPostPatchResponse; export const zGetConfigsectionsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7902,15 +8809,29 @@ export const zGetConfigsectionsData = z.object({ export const zGetConfigsectionsResponse = zConfigSectionListResponse; export const zGetConfigsectionsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7919,13 +8840,18 @@ export const zGetConfigsectionsCountData = z.object({ export const zGetConfigsectionsCountResponse = zConfigSectionListResponse; export const zGetConfigsectionsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -7934,21 +8860,35 @@ export const zGetConfigsectionsByIdData = z.object({ export const zGetConfigsectionsByIdResponse = zConfigSectionResponse; export const zDeleteCrackersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetCrackersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7957,15 +8897,15 @@ export const zGetCrackersData = z.object({ export const zGetCrackersResponse = zCrackerBinaryListResponse; export const zPatchCrackersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostCrackersData = z.object({ - body: zCrackerBinaryCreate, - path: z.never().optional(), - query: z.never().optional() + body: zCrackerBinaryCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -7974,15 +8914,29 @@ export const zPostCrackersData = z.object({ export const zPostCrackersResponse = zCrackerBinaryPostPatchResponse; export const zGetCrackersCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -7991,12 +8945,15 @@ export const zGetCrackersCountData = z.object({ export const zGetCrackersCountResponse = zCrackerBinaryListResponse; export const zGetCrackersByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8005,12 +8962,12 @@ export const zGetCrackersByIdByRelationData = z.object({ export const zGetCrackersByIdByRelationResponse = zCrackerBinaryRelationTasksGetResponse; export const zDeleteCrackersByIdRelationshipsByRelationData = z.object({ - body: zCrackerBinaryRelationTasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zCrackerBinaryRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8019,12 +8976,15 @@ export const zDeleteCrackersByIdRelationshipsByRelationData = z.object({ export const zDeleteCrackersByIdRelationshipsByRelationResponse = z.void(); export const zGetCrackersByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8033,12 +8993,12 @@ export const zGetCrackersByIdRelationshipsByRelationData = z.object({ export const zGetCrackersByIdRelationshipsByRelationResponse = zCrackerBinaryResponse; export const zPatchCrackersByIdRelationshipsByRelationData = z.object({ - body: zCrackerBinaryRelationTasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zCrackerBinaryRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8047,12 +9007,12 @@ export const zPatchCrackersByIdRelationshipsByRelationData = z.object({ export const zPatchCrackersByIdRelationshipsByRelationResponse = z.void(); export const zPostCrackersByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8061,11 +9021,11 @@ export const zPostCrackersByIdRelationshipsByRelationData = z.object({ export const zPostCrackersByIdRelationshipsByRelationResponse = z.void(); export const zDeleteCrackersByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8074,13 +9034,18 @@ export const zDeleteCrackersByIdData = z.object({ export const zDeleteCrackersByIdResponse = z.void(); export const zGetCrackersByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -8089,11 +9054,11 @@ export const zGetCrackersByIdData = z.object({ export const zGetCrackersByIdResponse = zCrackerBinaryResponse; export const zPatchCrackersByIdData = z.object({ - body: zCrackerBinaryPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zCrackerBinaryPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8102,21 +9067,35 @@ export const zPatchCrackersByIdData = z.object({ export const zPatchCrackersByIdResponse = zCrackerBinaryPostPatchResponse; export const zDeleteCrackertypesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetCrackertypesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8125,15 +9104,15 @@ export const zGetCrackertypesData = z.object({ export const zGetCrackertypesResponse = zCrackerBinaryTypeListResponse; export const zPatchCrackertypesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostCrackertypesData = z.object({ - body: zCrackerBinaryTypeCreate, - path: z.never().optional(), - query: z.never().optional() + body: zCrackerBinaryTypeCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -8142,15 +9121,29 @@ export const zPostCrackertypesData = z.object({ export const zPostCrackertypesResponse = zCrackerBinaryTypePostPatchResponse; export const zGetCrackertypesCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8159,12 +9152,15 @@ export const zGetCrackertypesCountData = z.object({ export const zGetCrackertypesCountResponse = zCrackerBinaryTypeListResponse; export const zGetCrackertypesByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8173,12 +9169,12 @@ export const zGetCrackertypesByIdByRelationData = z.object({ export const zGetCrackertypesByIdByRelationResponse = zCrackerBinaryTypeRelationTasksGetResponse; export const zDeleteCrackertypesByIdRelationshipsByRelationData = z.object({ - body: zCrackerBinaryTypeRelationTasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zCrackerBinaryTypeRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8187,12 +9183,15 @@ export const zDeleteCrackertypesByIdRelationshipsByRelationData = z.object({ export const zDeleteCrackertypesByIdRelationshipsByRelationResponse = z.void(); export const zGetCrackertypesByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8201,12 +9200,12 @@ export const zGetCrackertypesByIdRelationshipsByRelationData = z.object({ export const zGetCrackertypesByIdRelationshipsByRelationResponse = zCrackerBinaryTypeResponse; export const zPatchCrackertypesByIdRelationshipsByRelationData = z.object({ - body: zCrackerBinaryTypeRelationTasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zCrackerBinaryTypeRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8215,12 +9214,12 @@ export const zPatchCrackertypesByIdRelationshipsByRelationData = z.object({ export const zPatchCrackertypesByIdRelationshipsByRelationResponse = z.void(); export const zPostCrackertypesByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8229,11 +9228,11 @@ export const zPostCrackertypesByIdRelationshipsByRelationData = z.object({ export const zPostCrackertypesByIdRelationshipsByRelationResponse = z.void(); export const zDeleteCrackertypesByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8242,13 +9241,18 @@ export const zDeleteCrackertypesByIdData = z.object({ export const zDeleteCrackertypesByIdResponse = z.void(); export const zGetCrackertypesByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -8257,11 +9261,11 @@ export const zGetCrackertypesByIdData = z.object({ export const zGetCrackertypesByIdResponse = zCrackerBinaryTypeResponse; export const zPatchCrackertypesByIdData = z.object({ - body: zCrackerBinaryTypePatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zCrackerBinaryTypePatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8270,21 +9274,35 @@ export const zPatchCrackertypesByIdData = z.object({ export const zPatchCrackertypesByIdResponse = zCrackerBinaryTypePostPatchResponse; export const zDeleteFilesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetFilesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8293,15 +9311,15 @@ export const zGetFilesData = z.object({ export const zGetFilesResponse = zFileListResponse; export const zPatchFilesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostFilesData = z.object({ - body: zFileCreate, - path: z.never().optional(), - query: z.never().optional() + body: zFileCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -8310,15 +9328,29 @@ export const zPostFilesData = z.object({ export const zPostFilesResponse = zFilePostPatchResponse; export const zGetFilesCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8327,12 +9359,15 @@ export const zGetFilesCountData = z.object({ export const zGetFilesCountResponse = zFileListResponse; export const zGetFilesByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8341,12 +9376,15 @@ export const zGetFilesByIdByRelationData = z.object({ export const zGetFilesByIdByRelationResponse = zFileRelationAccessGroupGetResponse; export const zGetFilesByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8355,12 +9393,12 @@ export const zGetFilesByIdRelationshipsByRelationData = z.object({ export const zGetFilesByIdRelationshipsByRelationResponse = zFileResponse; export const zPatchFilesByIdRelationshipsByRelationData = z.object({ - body: zFileRelationAccessGroup, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zFileRelationAccessGroup, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8369,11 +9407,11 @@ export const zPatchFilesByIdRelationshipsByRelationData = z.object({ export const zPatchFilesByIdRelationshipsByRelationResponse = z.void(); export const zDeleteFilesByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8382,13 +9420,18 @@ export const zDeleteFilesByIdData = z.object({ export const zDeleteFilesByIdResponse = z.void(); export const zGetFilesByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -8397,11 +9440,11 @@ export const zGetFilesByIdData = z.object({ export const zGetFilesByIdResponse = zFileResponse; export const zPatchFilesByIdData = z.object({ - body: zFilePatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zFilePatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8410,21 +9453,35 @@ export const zPatchFilesByIdData = z.object({ export const zPatchFilesByIdResponse = zFilePostPatchResponse; export const zDeleteGlobalpermissiongroupsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetGlobalpermissiongroupsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8433,15 +9490,15 @@ export const zGetGlobalpermissiongroupsData = z.object({ export const zGetGlobalpermissiongroupsResponse = zGlobalPermissionGroupListResponse; export const zPatchGlobalpermissiongroupsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostGlobalpermissiongroupsData = z.object({ - body: zGlobalPermissionGroupCreate, - path: z.never().optional(), - query: z.never().optional() + body: zGlobalPermissionGroupCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -8450,15 +9507,29 @@ export const zPostGlobalpermissiongroupsData = z.object({ export const zPostGlobalpermissiongroupsResponse = zGlobalPermissionGroupPostPatchResponse; export const zGetGlobalpermissiongroupsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8467,12 +9538,15 @@ export const zGetGlobalpermissiongroupsCountData = z.object({ export const zGetGlobalpermissiongroupsCountResponse = zGlobalPermissionGroupListResponse; export const zGetGlobalpermissiongroupsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8481,12 +9555,12 @@ export const zGetGlobalpermissiongroupsByIdByRelationData = z.object({ export const zGetGlobalpermissiongroupsByIdByRelationResponse = zGlobalPermissionGroupRelationUserMembersGetResponse; export const zDeleteGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ - body: zGlobalPermissionGroupRelationUserMembers, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zGlobalPermissionGroupRelationUserMembers, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8495,12 +9569,15 @@ export const zDeleteGlobalpermissiongroupsByIdRelationshipsByRelationData = z.ob export const zDeleteGlobalpermissiongroupsByIdRelationshipsByRelationResponse = z.void(); export const zGetGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8509,12 +9586,12 @@ export const zGetGlobalpermissiongroupsByIdRelationshipsByRelationData = z.objec export const zGetGlobalpermissiongroupsByIdRelationshipsByRelationResponse = zGlobalPermissionGroupResponse; export const zPatchGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ - body: zGlobalPermissionGroupRelationUserMembers, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zGlobalPermissionGroupRelationUserMembers, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8523,12 +9600,12 @@ export const zPatchGlobalpermissiongroupsByIdRelationshipsByRelationData = z.obj export const zPatchGlobalpermissiongroupsByIdRelationshipsByRelationResponse = z.void(); export const zPostGlobalpermissiongroupsByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8537,11 +9614,11 @@ export const zPostGlobalpermissiongroupsByIdRelationshipsByRelationData = z.obje export const zPostGlobalpermissiongroupsByIdRelationshipsByRelationResponse = z.void(); export const zDeleteGlobalpermissiongroupsByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8550,13 +9627,18 @@ export const zDeleteGlobalpermissiongroupsByIdData = z.object({ export const zDeleteGlobalpermissiongroupsByIdResponse = z.void(); export const zGetGlobalpermissiongroupsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -8565,11 +9647,11 @@ export const zGetGlobalpermissiongroupsByIdData = z.object({ export const zGetGlobalpermissiongroupsByIdResponse = zGlobalPermissionGroupResponse; export const zPatchGlobalpermissiongroupsByIdData = z.object({ - body: zGlobalPermissionGroupPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zGlobalPermissionGroupPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8578,15 +9660,29 @@ export const zPatchGlobalpermissiongroupsByIdData = z.object({ export const zPatchGlobalpermissiongroupsByIdResponse = zGlobalPermissionGroupPostPatchResponse; export const zGetHashesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8595,15 +9691,29 @@ export const zGetHashesData = z.object({ export const zGetHashesResponse = zHashListResponse; export const zGetHashesCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8612,12 +9722,15 @@ export const zGetHashesCountData = z.object({ export const zGetHashesCountResponse = zHashListResponse; export const zGetHashesByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8626,12 +9739,15 @@ export const zGetHashesByIdByRelationData = z.object({ export const zGetHashesByIdByRelationResponse = zHashRelationHashlistGetResponse; export const zGetHashesByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8640,12 +9756,12 @@ export const zGetHashesByIdRelationshipsByRelationData = z.object({ export const zGetHashesByIdRelationshipsByRelationResponse = zHashResponse; export const zPatchHashesByIdRelationshipsByRelationData = z.object({ - body: zHashRelationHashlist, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zHashRelationHashlist, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8654,13 +9770,18 @@ export const zPatchHashesByIdRelationshipsByRelationData = z.object({ export const zPatchHashesByIdRelationshipsByRelationResponse = z.void(); export const zGetHashesByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -8669,21 +9790,35 @@ export const zGetHashesByIdData = z.object({ export const zGetHashesByIdResponse = zHashResponse; export const zDeleteHashlistsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetHashlistsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8692,15 +9827,15 @@ export const zGetHashlistsData = z.object({ export const zGetHashlistsResponse = zHashlistListResponse; export const zPatchHashlistsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostHashlistsData = z.object({ - body: zHashlistCreate, - path: z.never().optional(), - query: z.never().optional() + body: zHashlistCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -8709,15 +9844,29 @@ export const zPostHashlistsData = z.object({ export const zPostHashlistsResponse = zHashlistPostPatchResponse; export const zGetHashlistsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8726,12 +9875,15 @@ export const zGetHashlistsCountData = z.object({ export const zGetHashlistsCountResponse = zHashlistListResponse; export const zGetHashlistsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8740,12 +9892,12 @@ export const zGetHashlistsByIdByRelationData = z.object({ export const zGetHashlistsByIdByRelationResponse = zHashlistRelationTasksGetResponse; export const zDeleteHashlistsByIdRelationshipsByRelationData = z.object({ - body: zHashlistRelationTasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zHashlistRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8754,12 +9906,15 @@ export const zDeleteHashlistsByIdRelationshipsByRelationData = z.object({ export const zDeleteHashlistsByIdRelationshipsByRelationResponse = z.void(); export const zGetHashlistsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8768,12 +9923,12 @@ export const zGetHashlistsByIdRelationshipsByRelationData = z.object({ export const zGetHashlistsByIdRelationshipsByRelationResponse = zHashlistResponse; export const zPatchHashlistsByIdRelationshipsByRelationData = z.object({ - body: zHashlistRelationTasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zHashlistRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8782,12 +9937,12 @@ export const zPatchHashlistsByIdRelationshipsByRelationData = z.object({ export const zPatchHashlistsByIdRelationshipsByRelationResponse = z.void(); export const zPostHashlistsByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8796,11 +9951,11 @@ export const zPostHashlistsByIdRelationshipsByRelationData = z.object({ export const zPostHashlistsByIdRelationshipsByRelationResponse = z.void(); export const zDeleteHashlistsByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8809,13 +9964,18 @@ export const zDeleteHashlistsByIdData = z.object({ export const zDeleteHashlistsByIdResponse = z.void(); export const zGetHashlistsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -8824,11 +9984,11 @@ export const zGetHashlistsByIdData = z.object({ export const zGetHashlistsByIdResponse = zHashlistResponse; export const zPatchHashlistsByIdData = z.object({ - body: zHashlistPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zHashlistPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8837,21 +9997,35 @@ export const zPatchHashlistsByIdData = z.object({ export const zPatchHashlistsByIdResponse = zHashlistPostPatchResponse; export const zDeleteHashtypesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetHashtypesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8860,15 +10034,15 @@ export const zGetHashtypesData = z.object({ export const zGetHashtypesResponse = zHashTypeListResponse; export const zPatchHashtypesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostHashtypesData = z.object({ - body: zHashTypeCreate, - path: z.never().optional(), - query: z.never().optional() + body: zHashTypeCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -8877,15 +10051,29 @@ export const zPostHashtypesData = z.object({ export const zPostHashtypesResponse = zHashTypePostPatchResponse; export const zGetHashtypesCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8894,11 +10082,11 @@ export const zGetHashtypesCountData = z.object({ export const zGetHashtypesCountResponse = zHashTypeListResponse; export const zDeleteHashtypesByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8907,13 +10095,18 @@ export const zDeleteHashtypesByIdData = z.object({ export const zDeleteHashtypesByIdResponse = z.void(); export const zGetHashtypesByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -8922,11 +10115,11 @@ export const zGetHashtypesByIdData = z.object({ export const zGetHashtypesByIdResponse = zHashTypeResponse; export const zPatchHashtypesByIdData = z.object({ - body: zHashTypePatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zHashTypePatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -8935,15 +10128,29 @@ export const zPatchHashtypesByIdData = z.object({ export const zPatchHashtypesByIdResponse = zHashTypePostPatchResponse; export const zGetHealthcheckagentsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8952,15 +10159,29 @@ export const zGetHealthcheckagentsData = z.object({ export const zGetHealthcheckagentsResponse = zHealthCheckAgentListResponse; export const zGetHealthcheckagentsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -8969,12 +10190,15 @@ export const zGetHealthcheckagentsCountData = z.object({ export const zGetHealthcheckagentsCountResponse = zHealthCheckAgentListResponse; export const zGetHealthcheckagentsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8983,12 +10207,15 @@ export const zGetHealthcheckagentsByIdByRelationData = z.object({ export const zGetHealthcheckagentsByIdByRelationResponse = zHealthCheckAgentRelationHealthCheckGetResponse; export const zGetHealthcheckagentsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -8997,12 +10224,12 @@ export const zGetHealthcheckagentsByIdRelationshipsByRelationData = z.object({ export const zGetHealthcheckagentsByIdRelationshipsByRelationResponse = zHealthCheckAgentResponse; export const zPatchHealthcheckagentsByIdRelationshipsByRelationData = z.object({ - body: zHealthCheckAgentRelationHealthCheck, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zHealthCheckAgentRelationHealthCheck, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9011,13 +10238,18 @@ export const zPatchHealthcheckagentsByIdRelationshipsByRelationData = z.object({ export const zPatchHealthcheckagentsByIdRelationshipsByRelationResponse = z.void(); export const zGetHealthcheckagentsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -9026,21 +10258,35 @@ export const zGetHealthcheckagentsByIdData = z.object({ export const zGetHealthcheckagentsByIdResponse = zHealthCheckAgentResponse; export const zDeleteHealthchecksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetHealthchecksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9049,15 +10295,15 @@ export const zGetHealthchecksData = z.object({ export const zGetHealthchecksResponse = zHealthCheckListResponse; export const zPatchHealthchecksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostHealthchecksData = z.object({ - body: zHealthCheckCreate, - path: z.never().optional(), - query: z.never().optional() + body: zHealthCheckCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -9066,15 +10312,29 @@ export const zPostHealthchecksData = z.object({ export const zPostHealthchecksResponse = zHealthCheckPostPatchResponse; export const zGetHealthchecksCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9083,12 +10343,15 @@ export const zGetHealthchecksCountData = z.object({ export const zGetHealthchecksCountResponse = zHealthCheckListResponse; export const zGetHealthchecksByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9097,12 +10360,12 @@ export const zGetHealthchecksByIdByRelationData = z.object({ export const zGetHealthchecksByIdByRelationResponse = zHealthCheckRelationHealthCheckAgentsGetResponse; export const zDeleteHealthchecksByIdRelationshipsByRelationData = z.object({ - body: zHealthCheckRelationHealthCheckAgents, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zHealthCheckRelationHealthCheckAgents, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9111,12 +10374,15 @@ export const zDeleteHealthchecksByIdRelationshipsByRelationData = z.object({ export const zDeleteHealthchecksByIdRelationshipsByRelationResponse = z.void(); export const zGetHealthchecksByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9125,12 +10391,12 @@ export const zGetHealthchecksByIdRelationshipsByRelationData = z.object({ export const zGetHealthchecksByIdRelationshipsByRelationResponse = zHealthCheckResponse; export const zPatchHealthchecksByIdRelationshipsByRelationData = z.object({ - body: zHealthCheckRelationHealthCheckAgents, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zHealthCheckRelationHealthCheckAgents, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9139,12 +10405,12 @@ export const zPatchHealthchecksByIdRelationshipsByRelationData = z.object({ export const zPatchHealthchecksByIdRelationshipsByRelationResponse = z.void(); export const zPostHealthchecksByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9153,11 +10419,11 @@ export const zPostHealthchecksByIdRelationshipsByRelationData = z.object({ export const zPostHealthchecksByIdRelationshipsByRelationResponse = z.void(); export const zDeleteHealthchecksByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9166,13 +10432,18 @@ export const zDeleteHealthchecksByIdData = z.object({ export const zDeleteHealthchecksByIdResponse = z.void(); export const zGetHealthchecksByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -9181,11 +10452,11 @@ export const zGetHealthchecksByIdData = z.object({ export const zGetHealthchecksByIdResponse = zHealthCheckResponse; export const zPatchHealthchecksByIdData = z.object({ - body: zHealthCheckPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zHealthCheckPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9194,21 +10465,35 @@ export const zPatchHealthchecksByIdData = z.object({ export const zPatchHealthchecksByIdResponse = zHealthCheckPostPatchResponse; export const zDeleteLogentriesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetLogentriesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9217,15 +10502,15 @@ export const zGetLogentriesData = z.object({ export const zGetLogentriesResponse = zLogEntryListResponse; export const zPatchLogentriesData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostLogentriesData = z.object({ - body: zLogEntryCreate, - path: z.never().optional(), - query: z.never().optional() + body: zLogEntryCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -9234,15 +10519,29 @@ export const zPostLogentriesData = z.object({ export const zPostLogentriesResponse = zLogEntryPostPatchResponse; export const zGetLogentriesCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9251,11 +10550,11 @@ export const zGetLogentriesCountData = z.object({ export const zGetLogentriesCountResponse = zLogEntryListResponse; export const zDeleteLogentriesByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9264,13 +10563,18 @@ export const zDeleteLogentriesByIdData = z.object({ export const zDeleteLogentriesByIdResponse = z.void(); export const zGetLogentriesByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -9279,11 +10583,11 @@ export const zGetLogentriesByIdData = z.object({ export const zGetLogentriesByIdResponse = zLogEntryResponse; export const zPatchLogentriesByIdData = z.object({ - body: zLogEntryPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zLogEntryPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9292,21 +10596,35 @@ export const zPatchLogentriesByIdData = z.object({ export const zPatchLogentriesByIdResponse = zLogEntryPostPatchResponse; export const zDeleteNotificationsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetNotificationsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9315,15 +10633,15 @@ export const zGetNotificationsData = z.object({ export const zGetNotificationsResponse = zNotificationSettingListResponse; export const zPatchNotificationsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostNotificationsData = z.object({ - body: zNotificationSettingCreate, - path: z.never().optional(), - query: z.never().optional() + body: zNotificationSettingCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -9332,15 +10650,29 @@ export const zPostNotificationsData = z.object({ export const zPostNotificationsResponse = zNotificationSettingPostPatchResponse; export const zGetNotificationsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9349,12 +10681,15 @@ export const zGetNotificationsCountData = z.object({ export const zGetNotificationsCountResponse = zNotificationSettingListResponse; export const zGetNotificationsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9363,12 +10698,15 @@ export const zGetNotificationsByIdByRelationData = z.object({ export const zGetNotificationsByIdByRelationResponse = zNotificationSettingRelationUserGetResponse; export const zGetNotificationsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9377,12 +10715,12 @@ export const zGetNotificationsByIdRelationshipsByRelationData = z.object({ export const zGetNotificationsByIdRelationshipsByRelationResponse = zNotificationSettingResponse; export const zPatchNotificationsByIdRelationshipsByRelationData = z.object({ - body: zNotificationSettingRelationUser, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zNotificationSettingRelationUser, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9391,11 +10729,11 @@ export const zPatchNotificationsByIdRelationshipsByRelationData = z.object({ export const zPatchNotificationsByIdRelationshipsByRelationResponse = z.void(); export const zDeleteNotificationsByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9404,13 +10742,18 @@ export const zDeleteNotificationsByIdData = z.object({ export const zDeleteNotificationsByIdResponse = z.void(); export const zGetNotificationsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -9419,11 +10762,11 @@ export const zGetNotificationsByIdData = z.object({ export const zGetNotificationsByIdResponse = zNotificationSettingResponse; export const zPatchNotificationsByIdData = z.object({ - body: zNotificationSettingPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zNotificationSettingPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9432,21 +10775,35 @@ export const zPatchNotificationsByIdData = z.object({ export const zPatchNotificationsByIdResponse = zNotificationSettingPostPatchResponse; export const zDeletePreprocessorsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetPreprocessorsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9455,15 +10812,15 @@ export const zGetPreprocessorsData = z.object({ export const zGetPreprocessorsResponse = zPreprocessorListResponse; export const zPatchPreprocessorsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostPreprocessorsData = z.object({ - body: zPreprocessorCreate, - path: z.never().optional(), - query: z.never().optional() + body: zPreprocessorCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -9472,15 +10829,29 @@ export const zPostPreprocessorsData = z.object({ export const zPostPreprocessorsResponse = zPreprocessorPostPatchResponse; export const zGetPreprocessorsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9489,11 +10860,11 @@ export const zGetPreprocessorsCountData = z.object({ export const zGetPreprocessorsCountResponse = zPreprocessorListResponse; export const zDeletePreprocessorsByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9502,13 +10873,18 @@ export const zDeletePreprocessorsByIdData = z.object({ export const zDeletePreprocessorsByIdResponse = z.void(); export const zGetPreprocessorsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -9517,11 +10893,11 @@ export const zGetPreprocessorsByIdData = z.object({ export const zGetPreprocessorsByIdResponse = zPreprocessorResponse; export const zPatchPreprocessorsByIdData = z.object({ - body: zPreprocessorPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zPreprocessorPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9530,21 +10906,35 @@ export const zPatchPreprocessorsByIdData = z.object({ export const zPatchPreprocessorsByIdResponse = zPreprocessorPostPatchResponse; export const zDeletePretasksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetPretasksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9553,15 +10943,15 @@ export const zGetPretasksData = z.object({ export const zGetPretasksResponse = zPreTaskListResponse; export const zPatchPretasksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostPretasksData = z.object({ - body: zPreTaskCreate, - path: z.never().optional(), - query: z.never().optional() + body: zPreTaskCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -9570,15 +10960,29 @@ export const zPostPretasksData = z.object({ export const zPostPretasksResponse = zPreTaskPostPatchResponse; export const zGetPretasksCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9587,12 +10991,15 @@ export const zGetPretasksCountData = z.object({ export const zGetPretasksCountResponse = zPreTaskListResponse; export const zGetPretasksByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9601,12 +11008,12 @@ export const zGetPretasksByIdByRelationData = z.object({ export const zGetPretasksByIdByRelationResponse = zPreTaskRelationPretaskFilesGetResponse; export const zDeletePretasksByIdRelationshipsByRelationData = z.object({ - body: zPreTaskRelationPretaskFiles, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zPreTaskRelationPretaskFiles, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9615,12 +11022,15 @@ export const zDeletePretasksByIdRelationshipsByRelationData = z.object({ export const zDeletePretasksByIdRelationshipsByRelationResponse = z.void(); export const zGetPretasksByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9629,12 +11039,12 @@ export const zGetPretasksByIdRelationshipsByRelationData = z.object({ export const zGetPretasksByIdRelationshipsByRelationResponse = zPreTaskResponse; export const zPatchPretasksByIdRelationshipsByRelationData = z.object({ - body: zPreTaskRelationPretaskFiles, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zPreTaskRelationPretaskFiles, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9643,12 +11053,12 @@ export const zPatchPretasksByIdRelationshipsByRelationData = z.object({ export const zPatchPretasksByIdRelationshipsByRelationResponse = z.void(); export const zPostPretasksByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9657,11 +11067,11 @@ export const zPostPretasksByIdRelationshipsByRelationData = z.object({ export const zPostPretasksByIdRelationshipsByRelationResponse = z.void(); export const zDeletePretasksByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9670,13 +11080,18 @@ export const zDeletePretasksByIdData = z.object({ export const zDeletePretasksByIdResponse = z.void(); export const zGetPretasksByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -9685,11 +11100,11 @@ export const zGetPretasksByIdData = z.object({ export const zGetPretasksByIdResponse = zPreTaskResponse; export const zPatchPretasksByIdData = z.object({ - body: zPreTaskPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zPreTaskPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9698,15 +11113,29 @@ export const zPatchPretasksByIdData = z.object({ export const zPatchPretasksByIdResponse = zPreTaskPostPatchResponse; export const zGetSpeedsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9715,15 +11144,29 @@ export const zGetSpeedsData = z.object({ export const zGetSpeedsResponse = zSpeedListResponse; export const zGetSpeedsCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9732,12 +11175,15 @@ export const zGetSpeedsCountData = z.object({ export const zGetSpeedsCountResponse = zSpeedListResponse; export const zGetSpeedsByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9746,12 +11192,15 @@ export const zGetSpeedsByIdByRelationData = z.object({ export const zGetSpeedsByIdByRelationResponse = zSpeedRelationTaskGetResponse; export const zGetSpeedsByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9760,12 +11209,12 @@ export const zGetSpeedsByIdRelationshipsByRelationData = z.object({ export const zGetSpeedsByIdRelationshipsByRelationResponse = zSpeedResponse; export const zPatchSpeedsByIdRelationshipsByRelationData = z.object({ - body: zSpeedRelationTask, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zSpeedRelationTask, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9774,13 +11223,18 @@ export const zPatchSpeedsByIdRelationshipsByRelationData = z.object({ export const zPatchSpeedsByIdRelationshipsByRelationResponse = z.void(); export const zGetSpeedsByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -9789,21 +11243,35 @@ export const zGetSpeedsByIdData = z.object({ export const zGetSpeedsByIdResponse = zSpeedResponse; export const zDeleteSupertasksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetSupertasksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9812,15 +11280,15 @@ export const zGetSupertasksData = z.object({ export const zGetSupertasksResponse = zSupertaskListResponse; export const zPatchSupertasksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostSupertasksData = z.object({ - body: zSupertaskCreate, - path: z.never().optional(), - query: z.never().optional() + body: zSupertaskCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -9829,15 +11297,29 @@ export const zPostSupertasksData = z.object({ export const zPostSupertasksResponse = zSupertaskPostPatchResponse; export const zGetSupertasksCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9846,12 +11328,15 @@ export const zGetSupertasksCountData = z.object({ export const zGetSupertasksCountResponse = zSupertaskListResponse; export const zGetSupertasksByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9860,12 +11345,12 @@ export const zGetSupertasksByIdByRelationData = z.object({ export const zGetSupertasksByIdByRelationResponse = zSupertaskRelationPretasksGetResponse; export const zDeleteSupertasksByIdRelationshipsByRelationData = z.object({ - body: zSupertaskRelationPretasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zSupertaskRelationPretasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9874,12 +11359,15 @@ export const zDeleteSupertasksByIdRelationshipsByRelationData = z.object({ export const zDeleteSupertasksByIdRelationshipsByRelationResponse = z.void(); export const zGetSupertasksByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9888,12 +11376,12 @@ export const zGetSupertasksByIdRelationshipsByRelationData = z.object({ export const zGetSupertasksByIdRelationshipsByRelationResponse = zSupertaskResponse; export const zPatchSupertasksByIdRelationshipsByRelationData = z.object({ - body: zSupertaskRelationPretasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zSupertaskRelationPretasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9902,12 +11390,12 @@ export const zPatchSupertasksByIdRelationshipsByRelationData = z.object({ export const zPatchSupertasksByIdRelationshipsByRelationResponse = z.void(); export const zPostSupertasksByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -9916,11 +11404,11 @@ export const zPostSupertasksByIdRelationshipsByRelationData = z.object({ export const zPostSupertasksByIdRelationshipsByRelationResponse = z.void(); export const zDeleteSupertasksByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9929,13 +11417,18 @@ export const zDeleteSupertasksByIdData = z.object({ export const zDeleteSupertasksByIdResponse = z.void(); export const zGetSupertasksByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -9944,11 +11437,11 @@ export const zGetSupertasksByIdData = z.object({ export const zGetSupertasksByIdResponse = zSupertaskResponse; export const zPatchSupertasksByIdData = z.object({ - body: zSupertaskPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zSupertaskPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -9957,21 +11450,35 @@ export const zPatchSupertasksByIdData = z.object({ export const zPatchSupertasksByIdResponse = zSupertaskPostPatchResponse; export const zDeleteTasksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetTasksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -9980,15 +11487,15 @@ export const zGetTasksData = z.object({ export const zGetTasksResponse = zTaskListResponse; export const zPatchTasksData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostTasksData = z.object({ - body: zTaskCreate, - path: z.never().optional(), - query: z.never().optional() + body: zTaskCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -9997,15 +11504,29 @@ export const zPostTasksData = z.object({ export const zPostTasksResponse = zTaskPostPatchResponse; export const zGetTasksCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -10014,12 +11535,15 @@ export const zGetTasksCountData = z.object({ export const zGetTasksCountResponse = zTaskListResponse; export const zGetTasksByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10028,12 +11552,12 @@ export const zGetTasksByIdByRelationData = z.object({ export const zGetTasksByIdByRelationResponse = zTaskRelationSpeedsGetResponse; export const zDeleteTasksByIdRelationshipsByRelationData = z.object({ - body: zTaskRelationSpeeds, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zTaskRelationSpeeds, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10042,12 +11566,15 @@ export const zDeleteTasksByIdRelationshipsByRelationData = z.object({ export const zDeleteTasksByIdRelationshipsByRelationResponse = z.void(); export const zGetTasksByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10056,12 +11583,12 @@ export const zGetTasksByIdRelationshipsByRelationData = z.object({ export const zGetTasksByIdRelationshipsByRelationResponse = zTaskResponse; export const zPatchTasksByIdRelationshipsByRelationData = z.object({ - body: zTaskRelationSpeeds, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zTaskRelationSpeeds, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10070,12 +11597,12 @@ export const zPatchTasksByIdRelationshipsByRelationData = z.object({ export const zPatchTasksByIdRelationshipsByRelationResponse = z.void(); export const zPostTasksByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10084,11 +11611,11 @@ export const zPostTasksByIdRelationshipsByRelationData = z.object({ export const zPostTasksByIdRelationshipsByRelationResponse = z.void(); export const zDeleteTasksByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -10097,13 +11624,18 @@ export const zDeleteTasksByIdData = z.object({ export const zDeleteTasksByIdResponse = z.void(); export const zGetTasksByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -10112,11 +11644,11 @@ export const zGetTasksByIdData = z.object({ export const zGetTasksByIdResponse = zTaskResponse; export const zPatchTasksByIdData = z.object({ - body: zTaskPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zTaskPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -10125,21 +11657,35 @@ export const zPatchTasksByIdData = z.object({ export const zPatchTasksByIdResponse = zTaskPostPatchResponse; export const zDeleteTaskwrappersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetTaskwrappersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -10148,21 +11694,35 @@ export const zGetTaskwrappersData = z.object({ export const zGetTaskwrappersResponse = zTaskWrapperListResponse; export const zPatchTaskwrappersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetTaskwrappersCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -10171,12 +11731,15 @@ export const zGetTaskwrappersCountData = z.object({ export const zGetTaskwrappersCountResponse = zTaskWrapperListResponse; export const zGetTaskwrappersByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10185,12 +11748,12 @@ export const zGetTaskwrappersByIdByRelationData = z.object({ export const zGetTaskwrappersByIdByRelationResponse = zTaskWrapperRelationTasksGetResponse; export const zDeleteTaskwrappersByIdRelationshipsByRelationData = z.object({ - body: zTaskWrapperRelationTasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zTaskWrapperRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10199,12 +11762,15 @@ export const zDeleteTaskwrappersByIdRelationshipsByRelationData = z.object({ export const zDeleteTaskwrappersByIdRelationshipsByRelationResponse = z.void(); export const zGetTaskwrappersByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10213,12 +11779,12 @@ export const zGetTaskwrappersByIdRelationshipsByRelationData = z.object({ export const zGetTaskwrappersByIdRelationshipsByRelationResponse = zTaskWrapperResponse; export const zPatchTaskwrappersByIdRelationshipsByRelationData = z.object({ - body: zTaskWrapperRelationTasks, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zTaskWrapperRelationTasks, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10227,12 +11793,12 @@ export const zPatchTaskwrappersByIdRelationshipsByRelationData = z.object({ export const zPatchTaskwrappersByIdRelationshipsByRelationResponse = z.void(); export const zPostTaskwrappersByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10241,11 +11807,11 @@ export const zPostTaskwrappersByIdRelationshipsByRelationData = z.object({ export const zPostTaskwrappersByIdRelationshipsByRelationResponse = z.void(); export const zDeleteTaskwrappersByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -10254,13 +11820,18 @@ export const zDeleteTaskwrappersByIdData = z.object({ export const zDeleteTaskwrappersByIdResponse = z.void(); export const zGetTaskwrappersByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -10269,11 +11840,11 @@ export const zGetTaskwrappersByIdData = z.object({ export const zGetTaskwrappersByIdResponse = zTaskWrapperResponse; export const zPatchTaskwrappersByIdData = z.object({ - body: zTaskWrapperPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zTaskWrapperPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -10282,21 +11853,35 @@ export const zPatchTaskwrappersByIdData = z.object({ export const zPatchTaskwrappersByIdResponse = zTaskWrapperPostPatchResponse; export const zDeleteUsersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetUsersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -10305,15 +11890,15 @@ export const zGetUsersData = z.object({ export const zGetUsersResponse = zUserListResponse; export const zPatchUsersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostUsersData = z.object({ - body: zUserCreate, - path: z.never().optional(), - query: z.never().optional() + body: zUserCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10322,15 +11907,29 @@ export const zPostUsersData = z.object({ export const zPostUsersResponse = zUserPostPatchResponse; export const zGetUsersCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -10339,12 +11938,15 @@ export const zGetUsersCountData = z.object({ export const zGetUsersCountResponse = zUserListResponse; export const zGetUsersByIdByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10353,12 +11955,12 @@ export const zGetUsersByIdByRelationData = z.object({ export const zGetUsersByIdByRelationResponse = zUserRelationAccessGroupsGetResponse; export const zDeleteUsersByIdRelationshipsByRelationData = z.object({ - body: zUserRelationAccessGroups, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zUserRelationAccessGroups, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10367,12 +11969,15 @@ export const zDeleteUsersByIdRelationshipsByRelationData = z.object({ export const zDeleteUsersByIdRelationshipsByRelationResponse = z.void(); export const zGetUsersByIdRelationshipsByRelationData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), - relation: z.string() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10381,12 +11986,12 @@ export const zGetUsersByIdRelationshipsByRelationData = z.object({ export const zGetUsersByIdRelationshipsByRelationResponse = zUserResponse; export const zPatchUsersByIdRelationshipsByRelationData = z.object({ - body: zUserRelationAccessGroups, - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: zUserRelationAccessGroups, + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10395,12 +12000,12 @@ export const zPatchUsersByIdRelationshipsByRelationData = z.object({ export const zPatchUsersByIdRelationshipsByRelationResponse = z.void(); export const zPostUsersByIdRelationshipsByRelationData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int(), - relation: z.string() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int(), + relation: z.string() + }), + query: z.never().optional() }); /** @@ -10409,11 +12014,11 @@ export const zPostUsersByIdRelationshipsByRelationData = z.object({ export const zPostUsersByIdRelationshipsByRelationResponse = z.void(); export const zDeleteUsersByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -10422,13 +12027,18 @@ export const zDeleteUsersByIdData = z.object({ export const zDeleteUsersByIdResponse = z.void(); export const zGetUsersByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -10437,11 +12047,11 @@ export const zGetUsersByIdData = z.object({ export const zGetUsersByIdResponse = zUserResponse; export const zPatchUsersByIdData = z.object({ - body: zUserPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zUserPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -10450,21 +12060,35 @@ export const zPatchUsersByIdData = z.object({ export const zPatchUsersByIdResponse = zUserPostPatchResponse; export const zDeleteVouchersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetVouchersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -10473,15 +12097,15 @@ export const zGetVouchersData = z.object({ export const zGetVouchersResponse = zVoucherListResponse; export const zPatchVouchersData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostVouchersData = z.object({ - body: zVoucherCreate, - path: z.never().optional(), - query: z.never().optional() + body: zVoucherCreate, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10490,15 +12114,29 @@ export const zPostVouchersData = z.object({ export const zPostVouchersResponse = zVoucherPostPatchResponse; export const zGetVouchersCountData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - 'page[after]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[before]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - 'page[size]': z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - filter: z.record(z.string(), z.unknown()).optional(), - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + 'page[after]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[before]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + 'page[size]': z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + filter: z.record(z.string(), z.unknown()).optional(), + include: z.string().optional() + }) + .optional() }); /** @@ -10507,11 +12145,11 @@ export const zGetVouchersCountData = z.object({ export const zGetVouchersCountResponse = zVoucherListResponse; export const zDeleteVouchersByIdData = z.object({ - body: z.record(z.string(), z.unknown()), - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: z.record(z.string(), z.unknown()), + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -10520,13 +12158,18 @@ export const zDeleteVouchersByIdData = z.object({ export const zDeleteVouchersByIdResponse = z.void(); export const zGetVouchersByIdData = z.object({ - body: z.never().optional(), - path: z.object({ - id: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }), - query: z.object({ - include: z.string().optional() - }).optional() + body: z.never().optional(), + path: z.object({ + id: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }), + query: z + .object({ + include: z.string().optional() + }) + .optional() }); /** @@ -10535,11 +12178,11 @@ export const zGetVouchersByIdData = z.object({ export const zGetVouchersByIdResponse = zVoucherResponse; export const zPatchVouchersByIdData = z.object({ - body: zVoucherPatch, - path: z.object({ - id: z.int() - }), - query: z.never().optional() + body: zVoucherPatch, + path: z.object({ + id: z.int() + }), + query: z.never().optional() }); /** @@ -10548,9 +12191,9 @@ export const zPatchVouchersByIdData = z.object({ export const zPatchVouchersByIdResponse = zVoucherPostPatchResponse; export const zPostAbortChunkData = z.object({ - body: zAbortChunkHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zAbortChunkHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10559,9 +12202,9 @@ export const zPostAbortChunkData = z.object({ export const zPostAbortChunkResponse = zAbortChunkHelperApiResponse; export const zPostAssignAgentData = z.object({ - body: zAssignAgentHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zAssignAgentHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10570,9 +12213,9 @@ export const zPostAssignAgentData = z.object({ export const zPostAssignAgentResponse = zAssignAgentHelperApiResponse; export const zPostBulkSupertaskBuilderData = z.object({ - body: zBulkSupertaskBuilderHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zBulkSupertaskBuilderHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10581,9 +12224,9 @@ export const zPostBulkSupertaskBuilderData = z.object({ export const zPostBulkSupertaskBuilderResponse = zSupertaskSingleResponse; export const zPostChangeOwnPasswordData = z.object({ - body: zChangeOwnPasswordHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zChangeOwnPasswordHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10592,9 +12235,9 @@ export const zPostChangeOwnPasswordData = z.object({ export const zPostChangeOwnPasswordResponse = zChangeOwnPasswordHelperApiResponse; export const zPostCreateSuperHashlistData = z.object({ - body: zCreateSuperHashlistHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zCreateSuperHashlistHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10603,9 +12246,9 @@ export const zPostCreateSuperHashlistData = z.object({ export const zPostCreateSuperHashlistResponse = zHashlistSingleResponse; export const zPostCreateSupertaskData = z.object({ - body: zCreateSupertaskHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zCreateSupertaskHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10614,21 +12257,21 @@ export const zPostCreateSupertaskData = z.object({ export const zPostCreateSupertaskResponse = zTaskWrapperSingleResponse; export const zGetCurrentUserData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPatchCurrentUserData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostExportCrackedHashesData = z.object({ - body: zExportCrackedHashesHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zExportCrackedHashesHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10637,9 +12280,9 @@ export const zPostExportCrackedHashesData = z.object({ export const zPostExportCrackedHashesResponse = zFileSingleResponse; export const zPostExportLeftHashesData = z.object({ - body: zExportLeftHashesHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zExportLeftHashesHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10648,9 +12291,9 @@ export const zPostExportLeftHashesData = z.object({ export const zPostExportLeftHashesResponse = zFileSingleResponse; export const zPostExportWordlistData = z.object({ - body: zExportWordlistHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zExportWordlistHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10659,62 +12302,84 @@ export const zPostExportWordlistData = z.object({ export const zPostExportWordlistResponse = zFileSingleResponse; export const zGetGetAccessGroupsData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zGetGetAgentBinaryData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - agent: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }) + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + agent: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }) }); export const zGetGetBestTasksAgentData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - agent: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }) + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + agent: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }) }); export const zGetGetCracksOfTaskData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - task: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }) + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + task: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }) }); export const zGetGetFileData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - file: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) - }) + body: z.never().optional(), + path: z.never().optional(), + query: z.object({ + file: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + }) }); export const zGetGetTaskProgressImageData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.object({ - supertask: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional(), - task: z.int().min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }).max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }).optional() - }).optional() + body: z.never().optional(), + path: z.never().optional(), + query: z + .object({ + supertask: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional(), + task: z + .int() + .min(-2147483648, { error: 'Invalid value: Expected int32 to be >= -2147483648' }) + .max(2147483647, { error: 'Invalid value: Expected int32 to be <= 2147483647' }) + .optional() + }) + .optional() }); export const zGetGetUserPermissionData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostImportCrackedHashesData = z.object({ - body: zImportCrackedHashesHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zImportCrackedHashesHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10723,67 +12388,61 @@ export const zPostImportCrackedHashesData = z.object({ export const zPostImportCrackedHashesResponse = zImportCrackedHashesHelperApiResponse; export const zGetImportFileData = z.object({ - body: z.never().optional(), - path: z.never().optional(), - query: z.never().optional() + body: z.never().optional(), + path: z.never().optional(), + query: z.never().optional() }); export const zPostImportFileData = z.object({ - body: zImportFileHelperApi, - path: z.never().optional(), - query: z.never().optional(), - headers: z.object({ - 'Upload-Metadata': z.string().regex(/^([a-zA-Z0-9]+ [A-Za-z0-9+\/=]+)(,[a-zA-Z0-9]+ [A-Za-z0-9+\/=]+)*$/), - 'Upload-Length': z.int().gte(1).optional(), - 'Upload-Defer-Length': z.int().optional() - }) + body: zImportFileHelperApi, + path: z.never().optional(), + query: z.never().optional(), + headers: z.object({ + 'Upload-Metadata': z.string().regex(/^([a-zA-Z0-9]+ [A-Za-z0-9+\/=]+)(,[a-zA-Z0-9]+ [A-Za-z0-9+\/=]+)*$/), + 'Upload-Length': z.int().gte(1).optional(), + 'Upload-Defer-Length': z.int().optional() + }) }); -export const zPostImportFileResponse = z.union([ - z.unknown(), - z.string() -]); +export const zPostImportFileResponse = z.union([z.unknown(), z.string()]); export const zDeleteImportFileById09aF32Data = z.object({ - body: z.never().optional(), - path: z.object({ - 32: z.string(), - id: z.int() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + 32: z.string(), + id: z.int() + }), + query: z.never().optional() }); export const zHeadImportFileById09aF32Data = z.object({ - body: z.never().optional(), - path: z.object({ - 32: z.string(), - id: z.int() - }), - query: z.never().optional() + body: z.never().optional(), + path: z.object({ + 32: z.string(), + id: z.int() + }), + query: z.never().optional() }); export const zPatchImportFileById09aF32Data = z.object({ - body: z.string(), - path: z.object({ - 32: z.string(), - id: z.int() - }), - query: z.never().optional(), - headers: z.object({ - 'Upload-Offset': z.int(), - 'Content-Type': z.enum(['application/offset+octet-stream']) - }) + body: z.string(), + path: z.object({ + 32: z.string(), + id: z.int() + }), + query: z.never().optional(), + headers: z.object({ + 'Upload-Offset': z.int(), + 'Content-Type': z.enum(['application/offset+octet-stream']) + }) }); -export const zPatchImportFileById09aF32Response = z.union([ - z.unknown(), - z.void() -]); +export const zPatchImportFileById09aF32Response = z.union([z.unknown(), z.void()]); export const zPostMaskSupertaskBuilderData = z.object({ - body: zMaskSupertaskBuilderHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zMaskSupertaskBuilderHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10792,9 +12451,9 @@ export const zPostMaskSupertaskBuilderData = z.object({ export const zPostMaskSupertaskBuilderResponse = zSupertaskSingleResponse; export const zPostPurgeTaskData = z.object({ - body: zPurgeTaskHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zPurgeTaskHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10803,9 +12462,9 @@ export const zPostPurgeTaskData = z.object({ export const zPostPurgeTaskResponse = zPurgeTaskHelperApiResponse; export const zPostRebuildChunkCacheData = z.object({ - body: zRebuildChunkCacheHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zRebuildChunkCacheHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10814,9 +12473,9 @@ export const zPostRebuildChunkCacheData = z.object({ export const zPostRebuildChunkCacheResponse = zRebuildChunkCacheHelperApiResponse; export const zPostRecountFileLinesData = z.object({ - body: zRecountFileLinesHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zRecountFileLinesHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10825,9 +12484,9 @@ export const zPostRecountFileLinesData = z.object({ export const zPostRecountFileLinesResponse = zFileSingleResponse; export const zPostRescanGlobalFilesData = z.object({ - body: zRescanGlobalFilesHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zRescanGlobalFilesHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10836,9 +12495,9 @@ export const zPostRescanGlobalFilesData = z.object({ export const zPostRescanGlobalFilesResponse = zRescanGlobalFilesHelperApiResponse; export const zPostResetChunkData = z.object({ - body: zResetChunkHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zResetChunkHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10847,9 +12506,9 @@ export const zPostResetChunkData = z.object({ export const zPostResetChunkResponse = zResetChunkHelperApiResponse; export const zPostResetUserPasswordData = z.object({ - body: zResetUserPasswordHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zResetUserPasswordHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10858,9 +12517,9 @@ export const zPostResetUserPasswordData = z.object({ export const zPostResetUserPasswordResponse = zResetUserPasswordHelperApiResponse; export const zPostSearchHashesData = z.object({ - body: zSearchHashesHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zSearchHashesHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10869,9 +12528,9 @@ export const zPostSearchHashesData = z.object({ export const zPostSearchHashesResponse = zSearchHashesHelperApiResponse; export const zPostSetUserPasswordData = z.object({ - body: zSetUserPasswordHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zSetUserPasswordHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10880,9 +12539,9 @@ export const zPostSetUserPasswordData = z.object({ export const zPostSetUserPasswordResponse = zSetUserPasswordHelperApiResponse; export const zPostUnassignAgentData = z.object({ - body: zUnassignAgentHelperApi, - path: z.never().optional(), - query: z.never().optional() + body: zUnassignAgentHelperApi, + path: z.never().optional(), + query: z.never().optional() }); /** @@ -10891,9 +12550,9 @@ export const zPostUnassignAgentData = z.object({ export const zPostUnassignAgentResponse = zUnassignAgentHelperApiResponse; export const zPostTokenData = z.object({ - body: zTokenRequest, - path: z.never().optional(), - query: z.never().optional() + body: zTokenRequest, + path: z.never().optional(), + query: z.never().optional() }); /** From 22b00e8ff0dd7aaed8e27a3e6ff4e80a9bdf4614 Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Tue, 24 Mar 2026 17:35:47 +0100 Subject: [PATCH 12/14] Run prettier and linter --- src/app/core/_models/agent-errors.model.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/core/_models/agent-errors.model.ts b/src/app/core/_models/agent-errors.model.ts index b6abd2e48..b725cc30c 100644 --- a/src/app/core/_models/agent-errors.model.ts +++ b/src/app/core/_models/agent-errors.model.ts @@ -1,5 +1,5 @@ -import { BaseModel } from './base.model'; -import { JTask } from './task.model'; +import { BaseModel } from '@models/base.model'; +import { JTask } from '@models/task.model'; export interface JAgentErrors extends BaseModel { agentId: number; From 34b3bb0a5078b7cb501f0ebc77cb092d02b3561f Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Tue, 24 Mar 2026 17:57:28 +0100 Subject: [PATCH 13/14] Fix tests --- .../new-hashlist.component.spec.ts | 12 +-- .../new-tasks/new-tasks.component.spec.ts | 77 ++++++++++++++++--- .../users/new-user/new-user.component.spec.ts | 8 +- 3 files changed, 76 insertions(+), 21 deletions(-) diff --git a/src/app/hashlists/new-hashlist/new-hashlist.component.spec.ts b/src/app/hashlists/new-hashlist/new-hashlist.component.spec.ts index 38715e627..0508f136c 100644 --- a/src/app/hashlists/new-hashlist/new-hashlist.component.spec.ts +++ b/src/app/hashlists/new-hashlist/new-hashlist.component.spec.ts @@ -28,14 +28,14 @@ const mockAccessGroups: ResponseWrapper = { data: [ { id: 1, - type: 'access-groups', + type: 'accessGroup', attributes: { groupName: 'Admin' } }, { id: 2, - type: 'access-groups', + type: 'accessGroup', attributes: { groupName: 'User' } @@ -48,7 +48,7 @@ const mockHashtypes: ResponseWrapper = { data: [ { id: 2500, - type: 'hashtypes', + type: 'hashType', attributes: { description: 'MD5', isSalted: true, @@ -57,7 +57,7 @@ const mockHashtypes: ResponseWrapper = { }, { id: 0, - type: 'hashtypes', + type: 'hashType', attributes: { description: 'SHA1', isSalted: false, @@ -66,7 +66,7 @@ const mockHashtypes: ResponseWrapper = { }, { id: 16800, - type: 'hashtypes', + type: 'hashType', attributes: { description: 'WPA/WPA2', isSalted: true, @@ -80,7 +80,7 @@ const mockHashtypes: ResponseWrapper = { const mockConfigs: ResponseWrapper = { data: { id: 66, - type: 'configs', + type: 'config', attributes: { configSectionId: 1, item: 'Enable Brain', diff --git a/src/app/tasks/new-tasks/new-tasks.component.spec.ts b/src/app/tasks/new-tasks/new-tasks.component.spec.ts index 5d69aa0ec..22e91260b 100644 --- a/src/app/tasks/new-tasks/new-tasks.component.spec.ts +++ b/src/app/tasks/new-tasks/new-tasks.component.spec.ts @@ -22,8 +22,46 @@ import { environment } from '@src/environments/environment'; const MOCK_HASHLISTS_RESPONSE = { data: [ - { id: '1', type: 'HashLists', attributes: { name: 'test-hashlist', isArchived: false, hashTypeId: 0 } }, - { id: '2', type: 'HashLists', attributes: { name: 'second-hashlist', isArchived: false, hashTypeId: 1 } } + { + id: 1, + type: 'hashlist', + attributes: { + name: 'test-hashlist', + format: 0, + hashTypeId: 0, + hashCount: 0, + separator: null, + cracked: 0, + isSecret: false, + isHexSalt: false, + isSalted: false, + accessGroupId: 1, + notes: '', + useBrain: false, + brainFeatures: 0, + isArchived: false + } + }, + { + id: 2, + type: 'hashlist', + attributes: { + name: 'second-hashlist', + format: 0, + hashTypeId: 1, + hashCount: 0, + separator: null, + cracked: 0, + isSecret: false, + isHexSalt: false, + isSalted: false, + accessGroupId: 1, + notes: '', + useBrain: false, + brainFeatures: 0, + isArchived: false + } + } ], included: [] }; @@ -34,13 +72,17 @@ const MOCK_EMPTY_HASHLISTS_RESPONSE = { }; const MOCK_CRACKER_TYPES_RESPONSE = { - data: [{ id: '1', type: 'CrackerTypes', attributes: { typeName: 'hashcat' } }], + data: [{ id: 1, type: 'crackerBinaryType', attributes: { typeName: 'hashcat', isChunkingAvailable: true } }], included: [] }; const MOCK_CRACKERS_RESPONSE = { data: [ - { id: '10', type: 'Crackers', attributes: { crackerBinaryTypeId: 1, binaryName: 'hashcat', version: '6.2.6' } } + { + id: 10, + type: 'crackerBinary', + attributes: { crackerBinaryTypeId: 1, binaryName: 'hashcat', version: '6.2.6', downloadUrl: '' } + } ], included: [] }; @@ -51,7 +93,20 @@ const MOCK_CRACKERS_EMPTY_RESPONSE = { }; const MOCK_PREPROCESSORS_RESPONSE = { - data: [{ id: '1', type: 'Preprocessors', attributes: { name: 'prince' } }], + data: [ + { + id: 1, + type: 'preprocessor', + attributes: { + name: 'prince', + url: 'https://example.com/prince', + binaryName: 'pp64.bin', + keyspaceCommand: '--keyspace', + skipCommand: '--skip', + limitCommand: '--limit' + } + } + ], included: [] }; @@ -626,14 +681,14 @@ describe('NewTasksComponent', () => { const multiVersionResponse = { data: [ { - id: '10', - type: 'Crackers', - attributes: { crackerBinaryTypeId: 1, binaryName: 'hashcat', version: '6.2.5' } + id: 10, + type: 'crackerBinary', + attributes: { crackerBinaryTypeId: 1, binaryName: 'hashcat', version: '6.2.5', downloadUrl: '' } }, { - id: '11', - type: 'Crackers', - attributes: { crackerBinaryTypeId: 1, binaryName: 'hashcat', version: '6.2.6' } + id: 11, + type: 'crackerBinary', + attributes: { crackerBinaryTypeId: 1, binaryName: 'hashcat', version: '6.2.6', downloadUrl: '' } } ], included: [] diff --git a/src/app/users/new-user/new-user.component.spec.ts b/src/app/users/new-user/new-user.component.spec.ts index a6d76a69b..df61d0b57 100644 --- a/src/app/users/new-user/new-user.component.spec.ts +++ b/src/app/users/new-user/new-user.component.spec.ts @@ -26,16 +26,16 @@ describe('NewUserComponent', () => { const mockPermissionResponse: ResponseWrapper = { data: [ { - id: '1', - type: SERV.ACCESS_PERMISSIONS_GROUPS.RESOURCE, + id: 1, + type: 'globalPermissionGroup', attributes: { name: 'Default Group', permissions: {} } }, { - id: '2', - type: SERV.ACCESS_PERMISSIONS_GROUPS.RESOURCE, + id: 2, + type: 'globalPermissionGroup', attributes: { name: 'Custom Group', permissions: {} From bc22825dceb0edceb5fd459a099d90f9ff81189d Mon Sep 17 00:00:00 2001 From: correct-horse-battery-bench Date: Tue, 24 Mar 2026 18:09:00 +0100 Subject: [PATCH 14/14] Fix tests --- .../new-hashlist.component.spec.ts | 3 ++ .../new-tasks/new-tasks.component.spec.ts | 28 +++++++++++++++++-- .../users/new-user/new-user.component.spec.ts | 1 + 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/app/hashlists/new-hashlist/new-hashlist.component.spec.ts b/src/app/hashlists/new-hashlist/new-hashlist.component.spec.ts index 0508f136c..548aca4fa 100644 --- a/src/app/hashlists/new-hashlist/new-hashlist.component.spec.ts +++ b/src/app/hashlists/new-hashlist/new-hashlist.component.spec.ts @@ -25,6 +25,7 @@ import { InputModule } from '@src/app/shared/input/input.module'; import { PageSubTitleComponent } from '@src/app/shared/page-headers/page-subtitle/page-subtitle.component'; const mockAccessGroups: ResponseWrapper = { + jsonapi: { version: '1.1', ext: [] }, data: [ { id: 1, @@ -45,6 +46,7 @@ const mockAccessGroups: ResponseWrapper = { }; const mockHashtypes: ResponseWrapper = { + jsonapi: { version: '1.1', ext: [] }, data: [ { id: 2500, @@ -78,6 +80,7 @@ const mockHashtypes: ResponseWrapper = { }; const mockConfigs: ResponseWrapper = { + jsonapi: { version: '1.1', ext: [] }, data: { id: 66, type: 'config', diff --git a/src/app/tasks/new-tasks/new-tasks.component.spec.ts b/src/app/tasks/new-tasks/new-tasks.component.spec.ts index 22e91260b..ae3b38279 100644 --- a/src/app/tasks/new-tasks/new-tasks.component.spec.ts +++ b/src/app/tasks/new-tasks/new-tasks.component.spec.ts @@ -21,6 +21,7 @@ import { NewTasksComponent } from '@src/app/tasks/new-tasks/new-tasks.component' import { environment } from '@src/environments/environment'; const MOCK_HASHLISTS_RESPONSE = { + jsonapi: { version: '1.1', ext: [] }, data: [ { id: 1, @@ -67,16 +68,36 @@ const MOCK_HASHLISTS_RESPONSE = { }; const MOCK_EMPTY_HASHLISTS_RESPONSE = { + jsonapi: { version: '1.1', ext: [] }, data: [], included: [] }; const MOCK_CRACKER_TYPES_RESPONSE = { - data: [{ id: 1, type: 'crackerBinaryType', attributes: { typeName: 'hashcat', isChunkingAvailable: true } }], - included: [] + jsonapi: { version: '1.1', ext: [] }, + data: [ + { + id: 1, + type: 'crackerBinaryType', + attributes: { typeName: 'hashcat', isChunkingAvailable: true }, + relationships: { + crackerVersions: { + data: [{ type: 'crackerBinary', id: 10 }] + } + } + } + ], + included: [ + { + id: 10, + type: 'crackerBinary', + attributes: { crackerBinaryTypeId: 1, binaryName: 'hashcat', version: '6.2.6', downloadUrl: '' } + } + ] }; const MOCK_CRACKERS_RESPONSE = { + jsonapi: { version: '1.1', ext: [] }, data: [ { id: 10, @@ -88,11 +109,13 @@ const MOCK_CRACKERS_RESPONSE = { }; const MOCK_CRACKERS_EMPTY_RESPONSE = { + jsonapi: { version: '1.1', ext: [] }, data: [], included: [] }; const MOCK_PREPROCESSORS_RESPONSE = { + jsonapi: { version: '1.1', ext: [] }, data: [ { id: 1, @@ -679,6 +702,7 @@ describe('NewTasksComponent', () => { it('should select the last version by default', async () => { const multiVersionResponse = { + jsonapi: { version: '1.1', ext: [] }, data: [ { id: 10, diff --git a/src/app/users/new-user/new-user.component.spec.ts b/src/app/users/new-user/new-user.component.spec.ts index df61d0b57..3e7a91983 100644 --- a/src/app/users/new-user/new-user.component.spec.ts +++ b/src/app/users/new-user/new-user.component.spec.ts @@ -24,6 +24,7 @@ describe('NewUserComponent', () => { let mockAlertService: jasmine.SpyObj; const mockPermissionResponse: ResponseWrapper = { + jsonapi: { version: '1.1', ext: [] }, data: [ { id: 1,