Skip to content

Commit

Permalink
Generated api
Browse files Browse the repository at this point in the history
  • Loading branch information
myOmikron committed Mar 26, 2024
1 parent 63dc2ef commit 5fdfa31
Show file tree
Hide file tree
Showing 6 changed files with 381 additions and 0 deletions.
123 changes: 123 additions & 0 deletions kraken_frontend/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -519,6 +519,63 @@
]
}
},
"/api/v1/admin/findingDefinitions/{uuid}/usages": {
"get": {
"tags": ["Knowledge Base"],
"summary": "Get all findings using the finding definition",
"description": "Get all findings using the finding definition",
"operationId": "get_finding_definition_usage",
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "The uuid",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "All findings using the definition",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListFindingDefinitionUsages"
}
}
}
},
"400": {
"description": "Client error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorResponse"
}
}
}
},
"500": {
"description": "Server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorResponse"
}
}
}
}
},
"security": [
{
"api_key": []
}
]
}
},
"/api/v1/admin/globalTags": {
"post": {
"tags": ["Global Tags"],
Expand Down Expand Up @@ -9587,6 +9644,58 @@
],
"description": "The object affected by a finding"
},
"FindingDefinitionUsage": {
"type": "object",
"description": "A finding using a specific finding definition",
"required": [
"uuid",
"severity",
"created_at",
"workspace",
"affected_domains",
"affected_hosts",
"affected_ports",
"affected_services"
],
"properties": {
"uuid": {
"type": "string",
"format": "uuid",
"description": "The uuid of the finding"
},
"severity": {
"$ref": "#/components/schemas/FindingSeverity"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The point in time the finding was created"
},
"workspace": {
"$ref": "#/components/schemas/SimpleWorkspace"
},
"affected_domains": {
"type": "integer",
"description": "The number of affected domains",
"minimum": 0
},
"affected_hosts": {
"type": "integer",
"description": "The number of affected hosts",
"minimum": 0
},
"affected_ports": {
"type": "integer",
"description": "The number of affected ports",
"minimum": 0
},
"affected_services": {
"type": "integer",
"description": "The number of affected services",
"minimum": 0
}
}
},
"FindingSection": {
"type": "string",
"description": "The section that was edited",
Expand Down Expand Up @@ -10964,6 +11073,20 @@
}
}
},
"ListFindingDefinitionUsages": {
"type": "object",
"description": "A list of findings using a specific finding definition",
"required": ["usages"],
"properties": {
"usages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FindingDefinitionUsage"
},
"description": "A list of findings using a specific finding definition"
}
}
},
"ListFindingDefinitions": {
"type": "object",
"description": "A list of simple definition of a finding",
Expand Down
2 changes: 2 additions & 0 deletions kraken_frontend/src/api/generated/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ models/FindingAffectedObjectOneOf.ts
models/FindingAffectedObjectOneOf1.ts
models/FindingAffectedObjectOneOf2.ts
models/FindingAffectedObjectOneOf3.ts
models/FindingDefinitionUsage.ts
models/FindingSection.ts
models/FindingSeverity.ts
models/FinishRegisterRequest.ts
Expand Down Expand Up @@ -128,6 +129,7 @@ models/LeechConfigAllOf.ts
models/LeechTlsConfig.ts
models/ListApiKeys.ts
models/ListAttacks.ts
models/ListFindingDefinitionUsages.ts
models/ListFindingDefinitions.ts
models/ListFindings.ts
models/ListFullUsers.ts
Expand Down
39 changes: 39 additions & 0 deletions kraken_frontend/src/api/generated/apis/KnowledgeBaseApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import type {
ApiErrorResponse,
CreateFindingDefinitionRequest,
FullFindingDefinition,
ListFindingDefinitionUsages,
ListFindingDefinitions,
UpdateFindingDefinitionRequest,
UuidResponse,
Expand All @@ -29,6 +30,8 @@ import {
CreateFindingDefinitionRequestToJSON,
FullFindingDefinitionFromJSON,
FullFindingDefinitionToJSON,
ListFindingDefinitionUsagesFromJSON,
ListFindingDefinitionUsagesToJSON,
ListFindingDefinitionsFromJSON,
ListFindingDefinitionsToJSON,
UpdateFindingDefinitionRequestFromJSON,
Expand All @@ -49,6 +52,10 @@ export interface GetFindingDefinitionRequest {
uuid: string;
}

export interface GetFindingDefinitionUsageRequest {
uuid: string;
}

export interface UpdateFindingDefinitionOperationRequest {
uuid: string;
updateFindingDefinitionRequest: UpdateFindingDefinitionRequest;
Expand Down Expand Up @@ -185,6 +192,38 @@ export class KnowledgeBaseApi extends runtime.BaseAPI {
return await response.value();
}

/**
* Get all findings using the finding definition
* Get all findings using the finding definition
*/
async getFindingDefinitionUsageRaw(requestParameters: GetFindingDefinitionUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListFindingDefinitionUsages>> {
if (requestParameters.uuid === null || requestParameters.uuid === undefined) {
throw new runtime.RequiredError('uuid','Required parameter requestParameters.uuid was null or undefined when calling getFindingDefinitionUsage.');
}

const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};

const response = await this.request({
path: `/api/v1/admin/findingDefinitions/{uuid}/usages`.replace(`{${"uuid"}}`, encodeURIComponent(String(requestParameters.uuid))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);

return new runtime.JSONApiResponse(response, (jsonValue) => ListFindingDefinitionUsagesFromJSON(jsonValue));
}

/**
* Get all findings using the finding definition
* Get all findings using the finding definition
*/
async getFindingDefinitionUsage(requestParameters: GetFindingDefinitionUsageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListFindingDefinitionUsages> {
const response = await this.getFindingDefinitionUsageRaw(requestParameters, initOverrides);
return await response.value();
}

/**
* Update a finding definition This endpoint only allows updating the `name`, `severity` and `cve`. The other values have to be updated through the websocket as part of a live editor.
* Update a finding definition
Expand Down
142 changes: 142 additions & 0 deletions kraken_frontend/src/api/generated/models/FindingDefinitionUsage.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
/* tslint:disable */
/* eslint-disable */
/**
* kraken
* The core component of kraken-project
*
* The version of the OpenAPI document: 0.1.0
* Contact: git@omikron.dev
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/

import { exists, mapValues } from '../runtime';
import type { FindingSeverity } from './FindingSeverity';
import {
FindingSeverityFromJSON,
FindingSeverityFromJSONTyped,
FindingSeverityToJSON,
} from './FindingSeverity';
import type { SimpleWorkspace } from './SimpleWorkspace';
import {
SimpleWorkspaceFromJSON,
SimpleWorkspaceFromJSONTyped,
SimpleWorkspaceToJSON,
} from './SimpleWorkspace';

/**
* A finding using a specific finding definition
* @export
* @interface FindingDefinitionUsage
*/
export interface FindingDefinitionUsage {
/**
* The uuid of the finding
* @type {string}
* @memberof FindingDefinitionUsage
*/
uuid: string;
/**
*
* @type {FindingSeverity}
* @memberof FindingDefinitionUsage
*/
severity: FindingSeverity;
/**
* The point in time the finding was created
* @type {Date}
* @memberof FindingDefinitionUsage
*/
createdAt: Date;
/**
*
* @type {SimpleWorkspace}
* @memberof FindingDefinitionUsage
*/
workspace: SimpleWorkspace;
/**
* The number of affected domains
* @type {number}
* @memberof FindingDefinitionUsage
*/
affectedDomains: number;
/**
* The number of affected hosts
* @type {number}
* @memberof FindingDefinitionUsage
*/
affectedHosts: number;
/**
* The number of affected ports
* @type {number}
* @memberof FindingDefinitionUsage
*/
affectedPorts: number;
/**
* The number of affected services
* @type {number}
* @memberof FindingDefinitionUsage
*/
affectedServices: number;
}

/**
* Check if a given object implements the FindingDefinitionUsage interface.
*/
export function instanceOfFindingDefinitionUsage(value: object): boolean {
let isInstance = true;
isInstance = isInstance && "uuid" in value;
isInstance = isInstance && "severity" in value;
isInstance = isInstance && "createdAt" in value;
isInstance = isInstance && "workspace" in value;
isInstance = isInstance && "affectedDomains" in value;
isInstance = isInstance && "affectedHosts" in value;
isInstance = isInstance && "affectedPorts" in value;
isInstance = isInstance && "affectedServices" in value;

return isInstance;
}

export function FindingDefinitionUsageFromJSON(json: any): FindingDefinitionUsage {
return FindingDefinitionUsageFromJSONTyped(json, false);
}

export function FindingDefinitionUsageFromJSONTyped(json: any, ignoreDiscriminator: boolean): FindingDefinitionUsage {
if ((json === undefined) || (json === null)) {
return json;
}
return {

'uuid': json['uuid'],
'severity': FindingSeverityFromJSON(json['severity']),
'createdAt': (new Date(json['created_at'])),
'workspace': SimpleWorkspaceFromJSON(json['workspace']),
'affectedDomains': json['affected_domains'],
'affectedHosts': json['affected_hosts'],
'affectedPorts': json['affected_ports'],
'affectedServices': json['affected_services'],
};
}

export function FindingDefinitionUsageToJSON(value?: FindingDefinitionUsage | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {

'uuid': value.uuid,
'severity': FindingSeverityToJSON(value.severity),
'created_at': (value.createdAt.toISOString()),
'workspace': SimpleWorkspaceToJSON(value.workspace),
'affected_domains': value.affectedDomains,
'affected_hosts': value.affectedHosts,
'affected_ports': value.affectedPorts,
'affected_services': value.affectedServices,
};
}

Loading

0 comments on commit 5fdfa31

Please sign in to comment.