femto-webapp/src/app/api/schema.ts
2025-05-29 13:21:37 +02:00

596 lines
13 KiB
TypeScript

export interface paths {
'/posts': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get: {
parameters: {
query?: {
From?: string
Amount?: number
AuthorId?: string
Author?: string
}
header?: never
path?: never
cookie?: never
}
requestBody?: never
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content: {
'text/plain': components['schemas']['LoadPostsResponse']
'application/json': components['schemas']['LoadPostsResponse']
'text/json': components['schemas']['LoadPostsResponse']
}
}
}
}
put?: never
post: {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
requestBody: {
content: {
'application/json': components['schemas']['CreatePostRequest']
'text/json': components['schemas']['CreatePostRequest']
'application/*+json': components['schemas']['CreatePostRequest']
}
}
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content: {
'text/plain': components['schemas']['CreatePostResponse']
'application/json': components['schemas']['CreatePostResponse']
'text/json': components['schemas']['CreatePostResponse']
}
}
}
}
delete?: never
options?: never
head?: never
patch?: never
trace?: never
}
'/posts/{postId}': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get?: never
put?: never
post?: never
delete: {
parameters: {
query?: never
header?: never
path: {
postId: string
}
cookie?: never
}
requestBody?: never
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content?: never
}
}
}
options?: never
head?: never
patch?: never
trace?: never
}
'/posts/{postId}/reactions': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get?: never
put?: never
post: {
parameters: {
query?: never
header?: never
path: {
postId: string
}
cookie?: never
}
requestBody: {
content: {
'application/json': components['schemas']['AddPostReactionRequest']
'text/json': components['schemas']['AddPostReactionRequest']
'application/*+json': components['schemas']['AddPostReactionRequest']
}
}
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content?: never
}
}
}
delete: {
parameters: {
query?: never
header?: never
path: {
postId: string
}
cookie?: never
}
requestBody: {
content: {
'application/json': components['schemas']['DeletePostReactionRequest']
'text/json': components['schemas']['DeletePostReactionRequest']
'application/*+json': components['schemas']['DeletePostReactionRequest']
}
}
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content?: never
}
}
}
options?: never
head?: never
patch?: never
trace?: never
}
'/media': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get?: never
put?: never
post: {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
requestBody: {
content: {
'multipart/form-data': {
file?: components['schemas']['IFormFile']
}
}
}
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content: {
'text/plain': components['schemas']['UploadMediaResponse']
'application/json': components['schemas']['UploadMediaResponse']
'text/json': components['schemas']['UploadMediaResponse']
}
}
}
}
delete?: never
options?: never
head?: never
patch?: never
trace?: never
}
'/media/{id}': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get: {
parameters: {
query?: never
header?: never
path: {
id: string
}
cookie?: never
}
requestBody?: never
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content?: never
}
}
}
put?: never
post?: never
delete?: never
options?: never
head?: never
patch?: never
trace?: never
}
'/auth/login': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get?: never
put?: never
post: {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
requestBody: {
content: {
'application/json': components['schemas']['LoginRequest']
'text/json': components['schemas']['LoginRequest']
'application/*+json': components['schemas']['LoginRequest']
}
}
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content: {
'text/plain': components['schemas']['LoginResponse']
'application/json': components['schemas']['LoginResponse']
'text/json': components['schemas']['LoginResponse']
}
}
}
}
delete?: never
options?: never
head?: never
patch?: never
trace?: never
}
'/auth/register': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get?: never
put?: never
post: {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
requestBody: {
content: {
'application/json': components['schemas']['RegisterRequest']
'text/json': components['schemas']['RegisterRequest']
'application/*+json': components['schemas']['RegisterRequest']
}
}
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content: {
'text/plain': components['schemas']['RegisterResponse']
'application/json': components['schemas']['RegisterResponse']
'text/json': components['schemas']['RegisterResponse']
}
}
}
}
delete?: never
options?: never
head?: never
patch?: never
trace?: never
}
'/auth/session': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get?: never
put?: never
post?: never
delete: {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
requestBody?: never
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content?: never
}
}
}
options?: never
head?: never
patch?: never
trace?: never
}
'/auth/user/{userId}': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get: {
parameters: {
query?: never
header?: never
path: {
userId: string
}
cookie?: never
}
requestBody?: never
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content: {
'text/plain': components['schemas']['RefreshUserResult']
'application/json': components['schemas']['RefreshUserResult']
'text/json': components['schemas']['RefreshUserResult']
}
}
}
}
put?: never
post?: never
delete?: never
options?: never
head?: never
patch?: never
trace?: never
}
'/auth/signup-codes': {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
get: {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
requestBody?: never
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content: {
'text/plain': components['schemas']['ListSignupCodesResult']
'application/json': components['schemas']['ListSignupCodesResult']
'text/json': components['schemas']['ListSignupCodesResult']
}
}
}
}
put?: never
post: {
parameters: {
query?: never
header?: never
path?: never
cookie?: never
}
requestBody: {
content: {
'application/json': components['schemas']['CreateSignupCodeRequest']
'text/json': components['schemas']['CreateSignupCodeRequest']
'application/*+json': components['schemas']['CreateSignupCodeRequest']
}
}
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown
}
content?: never
}
}
}
delete?: never
options?: never
head?: never
patch?: never
trace?: never
}
}
export type webhooks = Record<string, never>
export interface components {
schemas: {
AddPostReactionRequest: {
emoji: string
}
CreatePostRequest: {
/** Format: uuid */
authorId: string
content: string
media: components['schemas']['CreatePostRequestMedia'][]
isPublic: boolean | null
}
CreatePostRequestMedia: {
/** Format: uuid */
mediaId: string
/** Format: uri */
url: string
type: string | null
/** Format: int32 */
width: number | null
/** Format: int32 */
height: number | null
}
CreatePostResponse: {
post: components['schemas']['PostDto']
}
CreateSignupCodeRequest: {
code: string
email: string
name: string
}
DeletePostReactionRequest: {
emoji: string
}
/** Format: binary */
IFormFile: string
ListSignupCodesResult: {
signupCodes: components['schemas']['SignupCodeDto'][]
}
LoadPostsResponse: {
posts: components['schemas']['PostDto'][]
/** Format: uuid */
next: string | null
}
LoginRequest: {
username: string
password: string
rememberMe: boolean | null
}
LoginResponse: {
/** Format: uuid */
userId: string
username: string
isSuperUser: boolean
}
PostAuthorDto: {
/** Format: uuid */
authorId: string
username: string
}
PostDto: {
author: components['schemas']['PostAuthorDto']
/** Format: uuid */
postId: string
content: string
media: components['schemas']['PostMediaDto'][]
reactions: components['schemas']['PostReactionDto'][]
/** Format: date-time */
createdAt: string
possibleReactions: string[]
}
PostMediaDto: {
/** Format: uri */
url: string
/** Format: int32 */
width: number | null
/** Format: int32 */
height: number | null
}
PostReactionDto: {
emoji: string
/** Format: int32 */
count: number
didReact: boolean
}
RefreshUserResult: {
/** Format: uuid */
userId: string
username: string
isSuperUser: boolean
}
RegisterRequest: {
username: string
password: string
signupCode: string
rememberMe: boolean | null
}
RegisterResponse: {
/** Format: uuid */
userId: string
username: string
isSuperUser: boolean
}
SignupCodeDto: {
code: string
email: string
name: string
/** Format: uuid */
redeemingUserId: string | null
redeemingUsername: string | null
/** Format: date-time */
expiresOn: string | null
}
UploadMediaResponse: {
/** Format: uuid */
mediaId: string
url: string
}
}
responses: never
parameters: never
requestBodies: never
headers: never
pathItems: never
}
export type $defs = Record<string, never>
export type operations = Record<string, never>