Files
umami/src/app/api/reports/retention/contract.generated.ts
T

114 lines
2.9 KiB
TypeScript

// Generated by `pnpm openapi:contracts`. Do not edit directly.
import type { ZodOpenApiOperationObject } from 'zod-openapi';
import { defineOperation } from '@/openapi/operation';
const operation1 = defineOperation({
method: 'post',
path: '/api/reports/retention',
audience: 'public',
auth: 'bearer-or-share',
operation: {
operationId: 'runRetentionReport',
summary: 'Create or update reports retention',
tags: ['Reports'],
requestBody: {
required: true,
content: {
'application/json': {
schema: {
type: 'object',
properties: {
websiteId: {
type: 'string',
format: 'uuid',
},
filters: {
type: 'object',
additionalProperties: true,
},
type: {
type: 'string',
},
parameters: {
type: 'object',
additionalProperties: true,
},
},
required: ['websiteId', 'filters', 'type', 'parameters'],
},
},
},
},
responses: {
'200': {
description: 'The operation completed successfully.',
content: {
'application/json': {
schema: {
type: 'array',
items: {
type: 'object',
properties: {
date: {
type: 'string',
},
day: {
type: 'number',
},
visitors: {
type: 'number',
},
returnVisitors: {
type: 'number',
},
percentage: {
type: 'number',
},
},
required: ['date', 'day', 'visitors', 'returnVisitors', 'percentage'],
},
},
},
},
},
'400': {
description: 'Bad request.',
content: {
'application/json': {
example: {
error: {
message: 'Bad request.',
code: 'bad-request',
status: 400,
},
},
schema: {
$ref: '#/components/schemas/ApiError',
},
},
},
},
'401': {
description: 'Unauthorized.',
content: {
'application/json': {
example: {
error: {
message: 'Unauthorized.',
code: 'unauthorized',
status: 401,
},
},
schema: {
$ref: '#/components/schemas/ApiError',
},
},
},
},
},
} as ZodOpenApiOperationObject,
});
export const operations = [operation1] as const;