Skip to main content

OperationDefinition

@webda/core


Interface: OperationDefinition

Defined in: packages/core/src/core/icore.ts:90

Define an operation within webda app

Extended by​

Properties​

context?​

optional context?: any

Defined in: packages/core/src/core/icore.ts:129

Context to use for the operation

Useful to define a specific context for the operation


deprecated?​

optional deprecated?: boolean

Defined in: packages/core/src/core/icore.ts:145

Mark the operation as deprecated


description?​

optional description?: string

Defined in: packages/core/src/core/icore.ts:137

Full description of the operation


extensions?​

optional extensions?: Record<string, unknown>

Defined in: packages/core/src/core/icore.ts:186

Additional transport hints for future extensibility


graphql?​

optional graphql?: false | { mutation?: string; query?: string; subscription?: string; }

Defined in: packages/core/src/core/icore.ts:175

GraphQL transport hints

Set to false to explicitly exclude from GraphQL transport. Provide an object to specify query, mutation, or subscription mappings.


grpc?​

optional grpc?: false | { streaming?: "none" | "client" | "server" | "bidi"; }

Defined in: packages/core/src/core/icore.ts:168

gRPC transport hints

Set to false to explicitly exclude from gRPC transport. Provide an object to specify streaming mode.


hidden?​

optional hidden?: boolean

Defined in: packages/core/src/core/icore.ts:149

Hide the operation from transport exposure


id​

id: string

Defined in: packages/core/src/core/icore.ts:94

Id of the operation


input​

input: string

Defined in: packages/core/src/core/icore.ts:98

Schema name for operation input. Use "void" for no input.


mcp?​

optional mcp?: false | { destructive?: boolean; readOnly?: boolean; title?: string; }

Defined in: packages/core/src/core/icore.ts:182

MCP transport hints

Set to false to explicitly exclude from the MCP transport. Provide an object to set the tool title or override the read-only/destructive hints.

Union Members​

false


Type Literal​

{ destructive?: boolean; readOnly?: boolean; title?: string; }

destructive?​

optional destructive?: boolean

Override the derived destructiveHint

readOnly?​

optional readOnly?: boolean

Override the derived readOnlyHint

title?​

optional title?: string

Human-friendly tool title


method​

method: string

Defined in: packages/core/src/core/icore.ts:123

Method implementing the operation


model?​

optional model?: string

Defined in: packages/core/src/core/icore.ts:119

Model implementing the operation

Either service or model should be defined


output​

output: string

Defined in: packages/core/src/core/icore.ts:102

Schema name for operation output. Use "void" for no output.


permission?​

optional permission?: WebdaQLString<unknown>

Defined in: packages/core/src/core/icore.ts:107

WebdaQL to execute on session to know if operation is available to user


rest?​

optional rest?: false | { method: "get" | "post" | "put" | "delete" | "patch"; path: string; responses?: {[statusCode: string]: object; }; }

Defined in: packages/core/src/core/icore.ts:161

REST transport hints

Set to false to explicitly exclude from REST transport. Provide an object to specify REST method, path, and response definitions.


service?​

optional service?: string

Defined in: packages/core/src/core/icore.ts:113

Service implementing the operation

Either service or model should be defined


static?​

optional static?: boolean

Defined in: packages/core/src/core/icore.ts:154

Whether this is a static (class-level) or instance method Used by callOperation to determine if model instance needs to be loaded


summary?​

optional summary?: string

Defined in: packages/core/src/core/icore.ts:133

Short summary of the operation


tags?​

optional tags?: string[]

Defined in: packages/core/src/core/icore.ts:141

Categorization tags for the operation