@emeryld/rrroutes-openapi 2.3.1 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -10
- package/dist/docs/LeafDocsPage.d.ts +3 -23
- package/dist/docs/docs.d.ts +4 -7
- package/dist/docs/schemaIntrospection.d.ts +4 -13
- package/dist/docs/serializer.d.ts +5 -19
- package/dist/index.cjs +468 -670
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +30 -105
- package/dist/index.mjs +471 -670
- package/dist/index.mjs.map +1 -1
- package/dist/public/assets/docs.css +1 -1
- package/dist/public/assets/docs.js +260 -21
- package/dist/web/app.d.ts +1 -8
- package/dist/web/main.d.ts +1 -1
- package/dist/web/utils/grouping.d.ts +2 -8
- package/dist/web/utils/security.d.ts +21 -0
- package/dist/web/utils/types.d.ts +17 -0
- package/dist/web/v2/AppShell.d.ts +7 -0
- package/dist/web/v2/components/JsonInput.d.ts +10 -0
- package/dist/web/v2/components/JsonViewer.d.ts +12 -0
- package/dist/web/v2/components/MethodBadge.d.ts +4 -0
- package/dist/web/v2/components/New/HttpMethodChip.d.ts +7 -0
- package/dist/web/v2/components/New/ListToolBar.d.ts +11 -0
- package/dist/web/v2/components/New/MethodFiltersChips.d.ts +7 -0
- package/dist/web/v2/components/New/RequestStatusChip.d.ts +6 -0
- package/dist/web/v2/components/New/SplitPageLayout.d.ts +7 -0
- package/dist/web/v2/components/New/StabilityChip.d.ts +7 -0
- package/dist/web/v2/components/New/StatusRangeFilter.d.ts +8 -0
- package/dist/web/v2/components/RecordItem.d.ts +34 -0
- package/dist/web/v2/components/ResizableSidePanel.d.ts +12 -0
- package/dist/web/v2/components/SchemaTable.d.ts +5 -0
- package/dist/web/v2/components/SectionHeader.d.ts +9 -0
- package/dist/web/v2/endpoints/EndpointDetailsPanel.d.ts +5 -0
- package/dist/web/v2/endpoints/EndpointList.d.ts +12 -0
- package/dist/web/v2/endpoints/EndpointsPage.d.ts +4 -0
- package/dist/web/v2/endpoints/endpoints.utils.d.ts +3 -0
- package/dist/web/v2/stores/clientStore.d.ts +48 -0
- package/dist/web/v2/theme.d.ts +21 -0
- package/dist/web/v2/types/types.base.d.ts +30 -0
- package/dist/web/v2/types/types.cacheLog.d.ts +165 -0
- package/dist/web/v2/types/types.endpoint.d.ts +326 -0
- package/dist/web/v2/types/types.log.d.ts +119 -0
- package/dist/web/v2/types/types.preset.d.ts +251 -0
- package/dist/web/v2/types/types.requestLog.d.ts +264 -0
- package/package.json +16 -5
- package/dist/docs/presets.d.ts +0 -14
- package/dist/web/components/Analytics.d.ts +0 -68
- package/dist/web/components/CopyablePre.d.ts +0 -7
- package/dist/web/components/EndpointCard.d.ts +0 -10
- package/dist/web/components/Filters.d.ts +0 -9
- package/dist/web/components/FiltersBar.d.ts +0 -25
- package/dist/web/components/HelperEnumInput.d.ts +0 -11
- package/dist/web/components/HistoryView.d.ts +0 -7
- package/dist/web/components/LogsView.d.ts +0 -1
- package/dist/web/components/PlaygroundOverlay.d.ts +0 -94
- package/dist/web/components/PresetsView.d.ts +0 -15
- package/dist/web/components/RequestLogs.d.ts +0 -10
- package/dist/web/components/SchemaTable.d.ts +0 -4
- package/dist/web/components/ui/Button.d.ts +0 -8
- package/dist/web/components/ui/Clickable.d.ts +0 -7
- package/dist/web/components/ui/Tag.d.ts +0 -9
- package/dist/web/components/ui/Text.d.ts +0 -8
- package/dist/web/components/ui/index.d.ts +0 -4
- package/dist/web/historyStore.d.ts +0 -68
- package/dist/web/logsStore.d.ts +0 -51
- package/dist/web/types.d.ts +0 -5
- package/dist/webhooks.d.ts +0 -181
package/dist/web/app.d.ts
CHANGED
|
@@ -1,8 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import type { SerializableLeaf } from '../docs/serializer.js';
|
|
3
|
-
export declare function DocsApp({ initialLeaves, presets, basePath, baseUrlSuffix, }: {
|
|
4
|
-
initialLeaves: SerializableLeaf[];
|
|
5
|
-
presets: SerializablePreset[];
|
|
6
|
-
basePath?: string;
|
|
7
|
-
baseUrlSuffix?: string;
|
|
8
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export declare function DocsApp(): import("react/jsx-runtime").JSX.Element;
|
package/dist/web/main.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import './
|
|
1
|
+
import './main.css';
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function groupLeaves(leaves:
|
|
3
|
-
leaf: SerializableLeaf;
|
|
4
|
-
idx: number;
|
|
5
|
-
}[]): Record<string, {
|
|
6
|
-
leaf: SerializableLeaf;
|
|
7
|
-
idx: number;
|
|
8
|
-
}[]>;
|
|
1
|
+
import type { SerializedLeaf } from '../../docs/serializer.js';
|
|
2
|
+
export declare function groupLeaves(leaves: SerializedLeaf[]): Record<string, SerializedLeaf[]>;
|
|
9
3
|
export declare function sortGroups(groups: string[]): string[];
|
|
10
4
|
export declare function sortRoutes(aPath?: string, bPath?: string): number;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RequestHandler, Response } from 'express';
|
|
2
|
+
/**
|
|
3
|
+
* HTTP Basic password guard.
|
|
4
|
+
*/
|
|
5
|
+
export declare function createPasswordGuard(password: string, realm: string): RequestHandler;
|
|
6
|
+
/**
|
|
7
|
+
* Cookie-based guard. Requires `req.cookies` to be populated
|
|
8
|
+
* (e.g. via `cookie-parser`).
|
|
9
|
+
*/
|
|
10
|
+
export declare function createCookieGuard(cookieName: string, cookieSecret?: string): RequestHandler;
|
|
11
|
+
/**
|
|
12
|
+
* When auth is enabled but no password/cookie/custom guard is provided,
|
|
13
|
+
* fail closed.
|
|
14
|
+
*/
|
|
15
|
+
export declare function createMissingPasswordGuard(): RequestHandler;
|
|
16
|
+
/**
|
|
17
|
+
* Simple IP allow-list guard. For accurate client IPs behind proxies,
|
|
18
|
+
* configure `app.set('trust proxy', true)` in your Express app.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createIpAllowListGuard(allowed: string[]): RequestHandler;
|
|
21
|
+
export declare function applyDocsSecurityHeaders(res: Response): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AnyLeafLowProfile, AugmentLeaves, FinalizedRegistry } from '@emeryld/rrroutes-contract';
|
|
2
|
+
import { cacheLeaves } from '../v2/types/types.cacheLog';
|
|
3
|
+
import { endpointLeaves } from '../v2/types/types.endpoint';
|
|
4
|
+
import { logLeaves } from '../v2/types/types.log';
|
|
5
|
+
import { presetLeaves } from '../v2/types/types.preset';
|
|
6
|
+
import { requestLogLeaves } from '../v2/types/types.requestLog';
|
|
7
|
+
type MountedLeaves<Leaves extends readonly AnyLeafLowProfile[]> = AugmentLeaves<'/__rrroutes', undefined, Leaves>;
|
|
8
|
+
type AllLeaves = readonly [
|
|
9
|
+
...MountedLeaves<typeof endpointLeaves>,
|
|
10
|
+
...MountedLeaves<typeof requestLogLeaves>,
|
|
11
|
+
...MountedLeaves<typeof logLeaves>,
|
|
12
|
+
...MountedLeaves<typeof cacheLeaves>,
|
|
13
|
+
...MountedLeaves<typeof presetLeaves>
|
|
14
|
+
];
|
|
15
|
+
declare const allLeaves: AllLeaves;
|
|
16
|
+
export declare const leaves: FinalizedRegistry<typeof allLeaves>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function JsonInput({ value, onChange, placeholder, }: {
|
|
2
|
+
value?: string;
|
|
3
|
+
onChange?: (next: string) => void;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function KeyValueList({ label, data, emptyLabel, }: {
|
|
7
|
+
label: string;
|
|
8
|
+
data: Record<string, string>;
|
|
9
|
+
emptyLabel: string;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type JsonViewerProps = {
|
|
2
|
+
label: string;
|
|
3
|
+
value: unknown;
|
|
4
|
+
emptyLabel?: string;
|
|
5
|
+
collapsedLines?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const formatResponse: (data: unknown) => string;
|
|
8
|
+
export declare const truncateLines: (text: string, maxLines: number) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Read-only JSON/text viewer with truncation + copy.
|
|
11
|
+
*/
|
|
12
|
+
export declare function JsonViewer({ label, value, emptyLabel, collapsedLines, }: JsonViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
type ListToolbarProps = {
|
|
3
|
+
title?: string;
|
|
4
|
+
searchPlaceholder?: string;
|
|
5
|
+
searchValue?: string;
|
|
6
|
+
onSearchChange: (value: string) => void;
|
|
7
|
+
filtersSlot?: ReactNode;
|
|
8
|
+
actionsSlot?: ReactNode;
|
|
9
|
+
};
|
|
10
|
+
export declare function ListToolbar({ title, searchPlaceholder, searchValue, onSearchChange, filtersSlot, actionsSlot, }: ListToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MethodType } from '../../types/types.base.js';
|
|
2
|
+
type MethodFilterChipsProps = {
|
|
3
|
+
value: MethodType[] | undefined;
|
|
4
|
+
onChange: (value: MethodType[] | undefined) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function MethodFilterChips({ value, onChange }: MethodFilterChipsProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type StatusRange = 'any' | '2xx' | '3xx' | '4xx' | '5xx';
|
|
2
|
+
type Props = {
|
|
3
|
+
value: StatusRange;
|
|
4
|
+
onChange: (value: StatusRange) => void;
|
|
5
|
+
size?: 'small' | 'medium';
|
|
6
|
+
};
|
|
7
|
+
export declare function StatusRangeFilter({ value, onChange, size }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type RecordItem = {
|
|
2
|
+
key: string;
|
|
3
|
+
value?: string;
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
};
|
|
6
|
+
export type RecordInput = RecordItem[];
|
|
7
|
+
export type RecordInputUpdate = {
|
|
8
|
+
operation: 'add';
|
|
9
|
+
value: RecordItem;
|
|
10
|
+
} | {
|
|
11
|
+
operation: 'change';
|
|
12
|
+
idx: number;
|
|
13
|
+
value: RecordItem;
|
|
14
|
+
} | {
|
|
15
|
+
operation: 'remove';
|
|
16
|
+
idx: number;
|
|
17
|
+
};
|
|
18
|
+
type RecodItemSectionProps = {
|
|
19
|
+
title: string;
|
|
20
|
+
rows: RecordInput;
|
|
21
|
+
onUpdateRow?: (index: number, next: RecordInputUpdate) => void;
|
|
22
|
+
onAddRow?: () => void;
|
|
23
|
+
onRemoveRow?: (index: number) => void;
|
|
24
|
+
defaultOpen?: boolean;
|
|
25
|
+
showToggle?: boolean;
|
|
26
|
+
disableKey?: boolean;
|
|
27
|
+
placeholder?: {
|
|
28
|
+
key?: string;
|
|
29
|
+
value?: string;
|
|
30
|
+
};
|
|
31
|
+
gridClassName?: string;
|
|
32
|
+
};
|
|
33
|
+
export declare function RecordItemSection({ title, rows, onUpdateRow, onAddRow, onRemoveRow, defaultOpen, showToggle, disableKey, placeholder, }: RecodItemSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
type ResizableSidePanelProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
isVisible: boolean;
|
|
5
|
+
resizable?: boolean;
|
|
6
|
+
minWidth?: number;
|
|
7
|
+
maxWidth?: number;
|
|
8
|
+
initialWidth?: number;
|
|
9
|
+
onClose?: () => void;
|
|
10
|
+
};
|
|
11
|
+
declare const ResizableSidePanel: ({ children, isVisible, resizable, minWidth, maxWidth, initialWidth, onClose, }: ResizableSidePanelProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
export default ResizableSidePanel;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
title: string;
|
|
3
|
+
hasRows: boolean;
|
|
4
|
+
open: boolean;
|
|
5
|
+
setOpen: (updater: (prev: boolean) => boolean) => void;
|
|
6
|
+
onAddRow?: () => void;
|
|
7
|
+
};
|
|
8
|
+
export declare function SectionHeader({ title, hasRows, open, setOpen, onAddRow, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Endpoint } from '../types/types.endpoint';
|
|
2
|
+
import { EndpointFilterType } from './EndpointsPage';
|
|
3
|
+
type Props = {
|
|
4
|
+
endpoints: Endpoint[];
|
|
5
|
+
total?: number;
|
|
6
|
+
filters: EndpointFilterType;
|
|
7
|
+
onFiltersChange: (next: EndpointFilterType) => void;
|
|
8
|
+
selectedEndpointId?: string;
|
|
9
|
+
onSelectEndpoint: (id: string) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare function EndpointList({ endpoints, total, filters, onFiltersChange, selectedEndpointId, onSelectEndpoint, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { RouteClient } from '@emeryld/rrroutes-client';
|
|
2
|
+
import { QueryClient } from '@tanstack/react-query';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import { MethodType } from '../types/types.base';
|
|
5
|
+
import { RequestLogType } from '../types/types.requestLog';
|
|
6
|
+
export type EndpointRun = {
|
|
7
|
+
logs?: any;
|
|
8
|
+
error?: {
|
|
9
|
+
message: string;
|
|
10
|
+
stack?: string;
|
|
11
|
+
name?: string;
|
|
12
|
+
};
|
|
13
|
+
id: string;
|
|
14
|
+
log: RequestLogType;
|
|
15
|
+
};
|
|
16
|
+
export type PlaygroundInputs = {
|
|
17
|
+
query: {
|
|
18
|
+
key: string;
|
|
19
|
+
value: string;
|
|
20
|
+
enabled: boolean;
|
|
21
|
+
}[];
|
|
22
|
+
params: {
|
|
23
|
+
key: string;
|
|
24
|
+
value: string;
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
}[];
|
|
27
|
+
body: string;
|
|
28
|
+
};
|
|
29
|
+
type ClientContextValue = {
|
|
30
|
+
client: RouteClient<string>;
|
|
31
|
+
queryClient: QueryClient;
|
|
32
|
+
baseUrl: string;
|
|
33
|
+
headers: Record<string, string>;
|
|
34
|
+
setBaseUrl: (url: string) => void;
|
|
35
|
+
getLastRun: (args: {
|
|
36
|
+
id?: string;
|
|
37
|
+
method: MethodType;
|
|
38
|
+
path: string;
|
|
39
|
+
}) => EndpointRun | undefined;
|
|
40
|
+
fetch: (method: MethodType, path: string, input: PlaygroundInputs, id: string) => Promise<EndpointRun>;
|
|
41
|
+
runs: EndpointRun[];
|
|
42
|
+
};
|
|
43
|
+
export declare function ClientProvider({ children, initialBaseUrl, }: {
|
|
44
|
+
children: ReactNode;
|
|
45
|
+
initialBaseUrl: string;
|
|
46
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export declare function useClientContext(): ClientContextValue;
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare module '@mui/material/styles' {
|
|
2
|
+
interface Palette {
|
|
3
|
+
http: {
|
|
4
|
+
get: string;
|
|
5
|
+
post: string;
|
|
6
|
+
put: string;
|
|
7
|
+
patch: string;
|
|
8
|
+
delete: string;
|
|
9
|
+
};
|
|
10
|
+
status: {
|
|
11
|
+
success: string;
|
|
12
|
+
warning: string;
|
|
13
|
+
error: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
interface PaletteOptions {
|
|
17
|
+
http?: Palette['http'];
|
|
18
|
+
status?: Palette['status'];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export declare const docsTheme: import("@mui/material").Theme;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
export declare const METHODS: readonly ["get", "post", "put", "patch", "delete"];
|
|
3
|
+
export type MethodType = (typeof METHODS)[number];
|
|
4
|
+
export declare const baseEntitySchema: z.ZodObject<{
|
|
5
|
+
id: z.ZodString;
|
|
6
|
+
name: z.ZodString;
|
|
7
|
+
description: z.ZodOptional<z.ZodString>;
|
|
8
|
+
groupId: z.ZodOptional<z.ZodString>;
|
|
9
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
10
|
+
createdAt: z.ZodNumber;
|
|
11
|
+
updatedAt: z.ZodNumber;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export declare const baseQuerySchema: z.ZodObject<{
|
|
14
|
+
beforeDate: z.ZodOptional<z.ZodString>;
|
|
15
|
+
afterDate: z.ZodOptional<z.ZodString>;
|
|
16
|
+
orderBy: z.ZodDefault<z.ZodEnum<{
|
|
17
|
+
timestamp: "timestamp";
|
|
18
|
+
duration: "duration";
|
|
19
|
+
level: "level";
|
|
20
|
+
path: "path";
|
|
21
|
+
}>>;
|
|
22
|
+
orderDirection: z.ZodDefault<z.ZodEnum<{
|
|
23
|
+
asc: "asc";
|
|
24
|
+
desc: "desc";
|
|
25
|
+
}>>;
|
|
26
|
+
searchQuery: z.ZodOptional<z.ZodString>;
|
|
27
|
+
groups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
28
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
29
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
export declare const cacheLogSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
name: z.ZodString;
|
|
5
|
+
description: z.ZodOptional<z.ZodString>;
|
|
6
|
+
groupId: z.ZodOptional<z.ZodString>;
|
|
7
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
8
|
+
createdAt: z.ZodNumber;
|
|
9
|
+
updatedAt: z.ZodNumber;
|
|
10
|
+
operation: z.ZodEnum<{
|
|
11
|
+
delete: "delete";
|
|
12
|
+
hit: "hit";
|
|
13
|
+
miss: "miss";
|
|
14
|
+
set: "set";
|
|
15
|
+
}>;
|
|
16
|
+
value: z.ZodNullable<z.ZodAny>;
|
|
17
|
+
size: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
export declare const cacheLogQuerySchema: z.ZodObject<{
|
|
20
|
+
beforeDate: z.ZodOptional<z.ZodString>;
|
|
21
|
+
afterDate: z.ZodOptional<z.ZodString>;
|
|
22
|
+
orderBy: z.ZodDefault<z.ZodEnum<{
|
|
23
|
+
timestamp: "timestamp";
|
|
24
|
+
duration: "duration";
|
|
25
|
+
level: "level";
|
|
26
|
+
path: "path";
|
|
27
|
+
}>>;
|
|
28
|
+
orderDirection: z.ZodDefault<z.ZodEnum<{
|
|
29
|
+
asc: "asc";
|
|
30
|
+
desc: "desc";
|
|
31
|
+
}>>;
|
|
32
|
+
searchQuery: z.ZodOptional<z.ZodString>;
|
|
33
|
+
groups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
34
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
35
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
36
|
+
operations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
37
|
+
delete: "delete";
|
|
38
|
+
hit: "hit";
|
|
39
|
+
miss: "miss";
|
|
40
|
+
set: "set";
|
|
41
|
+
}>>>;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
export declare const cacheLeaves: readonly [{
|
|
44
|
+
readonly method: "get";
|
|
45
|
+
readonly path: "cache";
|
|
46
|
+
readonly cfg: Readonly<{
|
|
47
|
+
description?: string | undefined;
|
|
48
|
+
tags?: string[] | undefined;
|
|
49
|
+
deprecated?: boolean | undefined;
|
|
50
|
+
queryExtensionSchema: undefined;
|
|
51
|
+
bodyFiles?: import("@emeryld/rrroutes-contract").FileField[] | undefined;
|
|
52
|
+
feed: true;
|
|
53
|
+
summary?: string | undefined;
|
|
54
|
+
docsGroup?: string | undefined;
|
|
55
|
+
stability?: "experimental" | "beta" | "stable" | "deprecated" | undefined;
|
|
56
|
+
docsHidden?: boolean | undefined;
|
|
57
|
+
docsMeta?: Record<string, unknown> | undefined;
|
|
58
|
+
bodySchema: import("@emeryld/rrroutes-contract").RouteSchema<unknown, unknown> | undefined;
|
|
59
|
+
querySchema: import("@emeryld/rrroutes-contract").RouteSchema<{
|
|
60
|
+
orderBy: "timestamp" | "duration" | "level" | "path";
|
|
61
|
+
orderDirection: "asc" | "desc";
|
|
62
|
+
beforeDate?: string | undefined;
|
|
63
|
+
afterDate?: string | undefined;
|
|
64
|
+
searchQuery?: string | undefined;
|
|
65
|
+
groups?: string[] | undefined;
|
|
66
|
+
tags?: string[] | undefined;
|
|
67
|
+
cursor?: string | undefined;
|
|
68
|
+
operations?: ("delete" | "hit" | "miss" | "set")[] | undefined;
|
|
69
|
+
}, {
|
|
70
|
+
beforeDate?: string | undefined;
|
|
71
|
+
afterDate?: string | undefined;
|
|
72
|
+
orderBy?: "timestamp" | "duration" | "level" | "path" | undefined;
|
|
73
|
+
orderDirection?: "asc" | "desc" | undefined;
|
|
74
|
+
searchQuery?: string | undefined;
|
|
75
|
+
groups?: string[] | undefined;
|
|
76
|
+
tags?: string[] | undefined;
|
|
77
|
+
cursor?: string | undefined;
|
|
78
|
+
operations?: ("delete" | "hit" | "miss" | "set")[] | undefined;
|
|
79
|
+
}>;
|
|
80
|
+
paramsSchema: undefined;
|
|
81
|
+
outputSchema: import("@emeryld/rrroutes-contract").RouteSchema<{
|
|
82
|
+
out: {
|
|
83
|
+
id: string;
|
|
84
|
+
name: string;
|
|
85
|
+
createdAt: number;
|
|
86
|
+
updatedAt: number;
|
|
87
|
+
operation: "delete" | "hit" | "miss" | "set";
|
|
88
|
+
value: any;
|
|
89
|
+
description?: string | undefined;
|
|
90
|
+
groupId?: string | undefined;
|
|
91
|
+
tags?: string[] | undefined;
|
|
92
|
+
size?: number | undefined;
|
|
93
|
+
}[];
|
|
94
|
+
meta: {
|
|
95
|
+
totalCount?: number | undefined;
|
|
96
|
+
};
|
|
97
|
+
}, {
|
|
98
|
+
out: {
|
|
99
|
+
id: string;
|
|
100
|
+
name: string;
|
|
101
|
+
createdAt: number;
|
|
102
|
+
updatedAt: number;
|
|
103
|
+
operation: "delete" | "hit" | "miss" | "set";
|
|
104
|
+
value: any;
|
|
105
|
+
description?: string | undefined;
|
|
106
|
+
groupId?: string | undefined;
|
|
107
|
+
tags?: string[] | undefined;
|
|
108
|
+
size?: number | undefined;
|
|
109
|
+
}[];
|
|
110
|
+
meta: {
|
|
111
|
+
totalCount?: number | undefined;
|
|
112
|
+
};
|
|
113
|
+
}>;
|
|
114
|
+
outputMetaSchema: import("@emeryld/rrroutes-contract").RouteSchema<{
|
|
115
|
+
totalCount?: number | undefined;
|
|
116
|
+
}, {
|
|
117
|
+
totalCount?: number | undefined;
|
|
118
|
+
}>;
|
|
119
|
+
}>;
|
|
120
|
+
}, {
|
|
121
|
+
readonly method: "post";
|
|
122
|
+
readonly path: "cache";
|
|
123
|
+
readonly cfg: Readonly<{
|
|
124
|
+
description?: string | undefined;
|
|
125
|
+
tags?: string[] | undefined;
|
|
126
|
+
deprecated?: boolean | undefined;
|
|
127
|
+
queryExtensionSchema: undefined;
|
|
128
|
+
bodyFiles?: import("@emeryld/rrroutes-contract").FileField[] | undefined;
|
|
129
|
+
feed?: boolean | undefined;
|
|
130
|
+
summary?: string | undefined;
|
|
131
|
+
docsGroup?: string | undefined;
|
|
132
|
+
stability?: "experimental" | "beta" | "stable" | "deprecated" | undefined;
|
|
133
|
+
docsHidden?: boolean | undefined;
|
|
134
|
+
docsMeta?: Record<string, unknown> | undefined;
|
|
135
|
+
bodySchema: import("@emeryld/rrroutes-contract").RouteSchema<unknown, unknown> | undefined;
|
|
136
|
+
querySchema: import("@emeryld/rrroutes-contract").RouteSchema<{
|
|
137
|
+
orderBy: "timestamp" | "duration" | "level" | "path";
|
|
138
|
+
orderDirection: "asc" | "desc";
|
|
139
|
+
beforeDate?: string | undefined;
|
|
140
|
+
afterDate?: string | undefined;
|
|
141
|
+
searchQuery?: string | undefined;
|
|
142
|
+
groups?: string[] | undefined;
|
|
143
|
+
tags?: string[] | undefined;
|
|
144
|
+
cursor?: string | undefined;
|
|
145
|
+
operations?: ("delete" | "hit" | "miss" | "set")[] | undefined;
|
|
146
|
+
}, {
|
|
147
|
+
beforeDate?: string | undefined;
|
|
148
|
+
afterDate?: string | undefined;
|
|
149
|
+
orderBy?: "timestamp" | "duration" | "level" | "path" | undefined;
|
|
150
|
+
orderDirection?: "asc" | "desc" | undefined;
|
|
151
|
+
searchQuery?: string | undefined;
|
|
152
|
+
groups?: string[] | undefined;
|
|
153
|
+
tags?: string[] | undefined;
|
|
154
|
+
cursor?: string | undefined;
|
|
155
|
+
operations?: ("delete" | "hit" | "miss" | "set")[] | undefined;
|
|
156
|
+
}>;
|
|
157
|
+
paramsSchema: undefined;
|
|
158
|
+
outputSchema: import("@emeryld/rrroutes-contract").RouteSchema<{
|
|
159
|
+
meta?: string | undefined;
|
|
160
|
+
}, {
|
|
161
|
+
meta?: string | undefined;
|
|
162
|
+
}>;
|
|
163
|
+
outputMetaSchema: undefined;
|
|
164
|
+
}>;
|
|
165
|
+
}];
|