@apistudio/apim-cli
Version:
CLI for API Management Products
53 lines (47 loc) • 1.35 kB
text/typescript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { OpenAPIV3 } from 'openapi-types';
import { OpenAPISecurityRequirement } from '../../api-authoring/interfaces/api-spec-handler.interface.js';
import { OperationsMetadata } from '../../lfs/models/asset-metadata.model.js';
export interface FormViewTableData {
id: string;
[column: string]: React.ReactNode | string | boolean;
}
export interface FormViewTableDataWithOperations {
id: string;
name: string;
version: string;
operations: string;
operationsList?: OperationsMetadata[];
}
export interface OverrideQuotaList {
id: string;
name: string;
version: string;
operation: string;
rateLimitCount: string;
operationsList: OperationsMetadata[];
}
export interface OverrideUpdateData {
name: string;
version: string;
operation: string;
selectedQuotaOption: string;
withQuota: { [key: string]: any };
}
export interface SecurityRequirementsTableProps {
data: FormViewTableData[];
tableTitle: string;
headers: { key: string; header: string }[];
emptyStateTitle: string;
emptyStateContent: string;
buttonLabel: string;
onAddButtonClick: () => void;
handleRowDelete: (row: FormViewTableData) => void;
security: OpenAPIV3.SecurityRequirementObject[];
handleUpdate: (
prevSecuityName: string,
security: OpenAPISecurityRequirement,
) => void;
}