import { IChassisContext} from "."; /** * Represents an OAS3 `operation`. The operation is executed by `middleware` feature. * * It combines the OAS3 specification with a flexible request/response processing pipeline. * * The `pipeline` supports `before` pre-processing and `after` post-processing of requests. * * The `pipeline` provides support for OAS3 `security` policy enforcement. * * Every stage of the `pipeline` supports logging and auditing. * * TODO: support request and response validation * */ export interface IOperation { context: IChassisContext; resource: string; // pattern to match method: string; // HTTP or other verb operationId: string; // unique operation id actionId: string; // HTTP or other verb featureId: string; // name of feature middleware feature: any; // options for custom features spec: any; // OpenAPI specification security: any; // OpenAPI security - from spec or global getRequestSchema(content_type?: string): any; parameterKeys(type: string): any; response(status: string, content_type: string): any; }