// Package docs Code generated by swaggo/swag. DO NOT EDIT package docs import "github.com/swaggo/swag" const docTemplate = `{ "schemes": {{ marshal .Schemes }}, "swagger": "2.0", "info": { "description": "{{escape .Description}}", "title": "{{.Title}}", "contact": {}, "version": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { "/api/osmp/delete/{wsname}": { "delete": { "description": "Delete a workspace and all its associated files", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "workspaces" ], "summary": "Delete a workspace", "parameters": [ { "type": "string", "description": "Workspace name", "name": "wsname", "in": "path", "required": true } ], "responses": { "200": { "description": "Workspace successfully deleted", "schema": { "$ref": "#/definitions/server.ResponseHTTP" } }, "400": { "description": "Workspace doesn't exist", "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } }, "/api/osmp/execute": { "post": { "description": "Execute a new scan with specified configuration", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "scans" ], "summary": "Start a new scan", "parameters": [ { "description": "Scan configuration", "name": "taskData", "in": "body", "required": true, "schema": { "$ref": "#/definitions/server.TaskData" } } ], "responses": { "200": { "description": "Scan started successfully", "schema": { "allOf": [ { "$ref": "#/definitions/server.ResponseHTTP" }, { "type": "object", "properties": { "data": { "type": "object", "properties": { "command": { "type": "string" }, "input": { "type": "string" } } } } } ] } }, "400": { "description": "Invalid JSON payload", "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } }, "/api/osmp/flows": { "get": { "description": "Get all available workflow configurations and their modules", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "workflows" ], "summary": "List available workflows", "responses": { "200": { "description": "List of workflows with their details", "schema": { "allOf": [ { "$ref": "#/definitions/server.ResponseHTTP" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object" } } } } ] } }, "400": { "description": "Error when no workflow is found", "schema": { "type": "object", "properties": { "error": { "type": "string" } } } } } } }, "/api/osmp/ps": { "get": { "description": "Get all currently running Osmedeus processes", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "processes" ], "summary": "List running processes", "responses": { "200": { "description": "List of all running processes", "schema": { "allOf": [ { "$ref": "#/definitions/server.ResponseHTTP" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object" } } } } ] } } } } }, "/api/osmp/scans": { "get": { "description": "Get all running and completed scan processes", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "scans" ], "summary": "List all scan processes", "responses": { "200": { "description": "List of all scan processes", "schema": { "allOf": [ { "$ref": "#/definitions/server.ResponseHTTP" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object" } } } } ] } } } } }, "/api/osmp/workspace/{wsname}": { "get": { "description": "Get detailed information about a specific workspace including reports", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "workspaces" ], "summary": "Get workspace details", "parameters": [ { "type": "string", "description": "Workspace name", "name": "wsname", "in": "path", "required": true } ], "responses": { "200": { "description": "workspace details and reports", "schema": { "allOf": [ { "$ref": "#/definitions/server.ResponseHTTP" }, { "type": "object", "properties": { "data": { "type": "object", "additionalProperties": true } } } ] } } } } }, "/login": { "post": { "description": "Authenticate user and return JWT token", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "authentication" ], "summary": "User login", "responses": { "200": { "description": "status=success, message=Successfully login, token=JWT_TOKEN", "schema": { "type": "object", "additionalProperties": true } }, "401": { "description": "Unauthorized", "schema": { "type": "string" } }, "500": { "description": "Internal Server Error", "schema": { "type": "string" } } } } }, "/v1/health": { "get": { "description": "Get server health status and version information", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "health" ], "summary": "Check server health status", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/server.ResponseHTTP" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/server.ResponseHTTP" } } } } }, "/v1/ping": { "get": { "description": "Simple ping endpoint to verify server is responding", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "system" ], "summary": "Check server connectivity", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/server.ResponseHTTP" } }, "503": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/server.ResponseHTTP" } } } } }, "/v1/workspaces": { "get": { "description": "Get all available workspaces", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "workspaces" ], "summary": "Get all workspaces", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/server.ResponseHTTP" } } } } } }, "definitions": { "server.ResponseHTTP": { "type": "object", "properties": { "data": {}, "message": { "type": "string" }, "status": { "type": "integer" }, "total": { "type": "integer" }, "type": { "type": "string" } } }, "server.TaskData": { "description": "Configuration for executing a new scan", "type": "object", "properties": { "as_file": { "type": "boolean", "example": false }, "chunk": { "type": "boolean", "example": false }, "command": { "type": "string" }, "concurrency": { "type": "integer", "example": 5 }, "debug": { "type": "boolean", "example": false }, "distributed": { "type": "boolean", "example": false }, "module": { "type": "string", "example": "subdomain" }, "params": { "type": "array", "items": { "type": "string" }, "example": [ "[\"-deep\"", " \"-aggressive\"]" ] }, "password": { "type": "string", "example": "secret123" }, "target": { "type": "string", "example": "example.com" }, "targets": { "type": "array", "items": { "type": "string" } }, "targets_file": { "type": "string", "example": "/path/to/targets.txt" }, "test": { "type": "boolean", "example": false }, "threads": { "type": "integer", "example": 10 }, "timeout": { "type": "string", "example": "1h" }, "wildcard": { "type": "boolean", "example": false }, "workflow": { "type": "string", "example": "general" }, "workspace": { "type": "string", "example": "my-project" } } } } }` // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "", Host: "", BasePath: "", Schemes: []string{}, Title: "", Description: "", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, LeftDelim: "{{", RightDelim: "}}", } func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) }